log4j

勿忘勿助,看平地长得万丈高 勿忘勿助,看平地长得万丈高     2022-09-07     750

关键词:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

    <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

        <!--
           * 1. 一个appender子元素定义一个日志输出目的地
           * 2. 一个logger子元素定义一个日志写出器
        -->
        <!-- catalina.out -->
        <appender name="consoleAppend" class="org.apache.log4j.ConsoleAppender" >
            <layout class="org.apache.log4j.PatternLayout">
                <param name="ConversionPattern" value="%-d{yyyy-MM-dd HH:mm:ss} [%5p][%t][%c{1}]-[%M] %m%n" />
            </layout>
        </appender>

        <!-- error log -->
        <appender name="errorAppend" class="org.apache.log4j.DailyRollingFileAppender">
            <param name="File" value="${webapp.root}/logs/error/error.html" />
            <param name="Append" value="true" />
            <param name="DatePattern" value="yyyy-MM-dd-HH-mm‘.html‘"/>
            <param name="MaxBackupIndex" value="10" />
            <param name="MaxFileSize" value="4000000" />
            <param name="encoding" value="utf-8"/>
            <layout class="org.apache.log4j.HTMLLayout">
            </layout>
            <filter class="org.apache.log4j.varia.LevelRangeFilter">
                <param name="LevelMin" value="ERROR" />
                <param name="LevelMax" value="ERROR" />
            </filter>
        </appender>

        <!-- biz -->
        <appender name="bizAppend" class="org.apache.log4j.DailyRollingFileAppender">
            <param name="File" value="${webapp.root}/logs/biz/biz.log" />
            <param name="Append" value="true" />
            <param name="DatePattern" value="‘.‘yyyy-MM-dd-HH‘.log‘" />
            <param name="MaxBackupIndex" value="10" />
            <param name="MaxFileSize" value="4096" />
            <param name="encoding" value="utf-8"/>
            <layout class="org.apache.log4j.PatternLayout">
                <param name="ConversionPattern" value="[date:%d{yyyy-MM-dd HH:mm:ss}] %m%n" />
            </layout>
            <filter class="com.raycloud.bizlogger.LoggerFilter">
                <param name="LevelMin" value="40050" />
                <param name="LevelMax" value="40050" />
            </filter>
        </appender>

        <!-- 消费者消费的消息记录 -->
        <appender name="taskExcutorAppend" class="org.apache.log4j.DailyRollingFileAppender">
            <param name="File" value="${webapp.root}/logs/excutor/excutor.log" />
            <!-- 每小时1个文件 -->
            <param name="DatePattern" value="‘.‘yyyy-MM-dd-HH‘.log‘" />
            <!-- 最大文件的size,单位:Kb,Mb... -->
            <param name="MaxFileSize" value="4096" />
            <!-- 重启了服务器之后,是否在原有文件的后面追加?true(默认):追加;false:不追加 -->
            <param name="Append" value="true"/>
            <!-- 默认 MaxBackupIndex 为 1 -->
            <param name="MaxBackupIndex" value="10" />
            <param name="Encoding" value="utf-8"/>
            <layout class="org.apache.log4j.PatternLayout">
                <param name="ConversionPattern" value="%-d{yyyy-MM-dd HH:mm:ss} [%5p] %m%n" />
            </layout>
            <filter class="org.apache.log4j.varia.LevelRangeFilter">
                <param name="LevelMin" value="INFO" />
                <param name="LevelMax" value="WARN" />
            </filter>
        </appender>

        <!-- ProcessHandler的日志 -->
        <appender name="processHandlerAppend" class="org.apache.log4j.DailyRollingFileAppender">
            <param name="File" value="${webapp.root}/logs/process/process.log" />
            <!-- 每小时1个文件 -->
            <param name="DatePattern" value="‘.‘yyyy-MM-dd-HH‘.log‘" />
            <!-- 最大文件的size,单位:Kb,Mb... -->
            <param name="MaxFileSize" value="4096" />
            <!-- 重启了服务器之后,是否在原有文件的后面追加?true(默认):追加;false:不追加 -->
            <param name="Append" value="true"/>
            <!-- 默认 MaxBackupIndex 为 1 -->
            <param name="MaxBackupIndex" value="10" />
            <param name="Encoding" value="utf-8"/>
            <layout class="org.apache.log4j.PatternLayout">
                <param name="ConversionPattern" value="%-d{yyyy-MM-dd HH:mm:ss} [%5p] %m%n" />
            </layout>
            <filter class="org.apache.log4j.varia.LevelRangeFilter">
                <param name="LevelMin" value="INFO" />
                <param name="LevelMax" value="WARN" />
            </filter>
        </appender>

        <!-- command node js的日志 -->
        <appender name="nodejsAppend" class="org.apache.log4j.DailyRollingFileAppender">
            <param name="File" value="${webapp.root}/logs/command/nodejs.log" />
            <!-- 每小时1个文件 -->
            <param name="DatePattern" value="‘.‘yyyy-MM-dd-HH‘.log‘" />
            <!-- 最大文件的size,单位:Kb,Mb... -->
            <param name="MaxFileSize" value="4096" />
            <!-- 重启了服务器之后,是否在原有文件的后面追加?true(默认):追加;false:不追加 -->
            <param name="Append" value="true"/>
            <!-- 默认 MaxBackupIndex 为 1 -->
            <param name="MaxBackupIndex" value="10" />
            <param name="Encoding" value="utf-8"/>
            <layout class="org.apache.log4j.PatternLayout">
                <param name="ConversionPattern" value="%-d{yyyy-MM-dd HH:mm:ss} [%5p] %m%n" />
            </layout>
            <filter class="org.apache.log4j.varia.LevelRangeFilter">
                <param name="LevelMin" value="INFO" />
                <param name="LevelMax" value="WARN" />
            </filter>
        </appender>
        <!-- command ffmpeg的日志 -->
        <appender name="ffmpegAppend" class="org.apache.log4j.DailyRollingFileAppender">
            <param name="File" value="${webapp.root}/logs/command/ffmpeg.log" />
            <!-- 每小时1个文件 -->
            <param name="DatePattern" value="‘.‘yyyy-MM-dd-HH‘.log‘" />
            <!-- 最大文件的size,单位:Kb,Mb... -->
            <param name="MaxFileSize" value="4096" />
            <!-- 重启了服务器之后,是否在原有文件的后面追加?true(默认):追加;false:不追加 -->
            <param name="Append" value="true"/>
            <!-- 默认 MaxBackupIndex 为 1 -->
            <param name="MaxBackupIndex" value="10" />
            <param name="Encoding" value="utf-8"/>
            <layout class="org.apache.log4j.PatternLayout">
                <param name="ConversionPattern" value="%-d{yyyy-MM-dd HH:mm:ss} [%5p] %m%n" />
            </layout>
            <filter class="org.apache.log4j.varia.LevelRangeFilter">
                <param name="LevelMin" value="INFO" />
                <param name="LevelMax" value="WARN" />
            </filter>
        </appender>

        <!--
            logger的作用:
            1.[name属性]:指定你定义Logger对象时候的name
            2. additivity : children-logger是否使用 rootLogger的配置,
               additivity在log4j默认为true。这解释了为什么有些时候,一个日志信息在屏幕上会有多次输出。
            3.还可以指定level(输出级别)、appender-ref(指定哪个append)
         -->
        <!-- loggers -->
        <logger name="com.raycloud.picture.task.consumer.PictureVideoTaskExcutor" additivity="true">
            <!-- 如果1个包想对应多个 Appender 就这样,对于每个Appender自定义的日志级别可以在Appender上加上filter -->
            <appender-ref ref="taskExcutorAppend" />
        </logger>
        <logger name="com.raycloud.picture.task.handle.impl.DefaultVideoProcessorHandleImpl" additivity="true">
            <appender-ref ref="processHandlerAppend" />
        </logger>
        <logger name="com.raycloud.picture.service.command.NodeJsCommandInvoke" additivity="true">
            <appender-ref ref="nodejsAppend" />
        </logger>
        <logger name="com.raycloud.picture.service.command.FfmpegCommandInvoke" additivity="true">
            <appender-ref ref="ffmpegAppend" />
        </logger>

        <!--
            root的作用(相当于全局的意思):
            1.[priority ]:指定默认的全局输出级别
            2.[appender-ref ]:指定一些默认的append(没有指出特殊包或者类,即那些没有指定<logger>元素的append)的输出;
        -->
    	<root>
    		<priority value="INFO" />
            <!-- 将 logger 中 additivity=true 的日志或者没有指定<logger>的append输出到控制台 -->
            <appender-ref ref="consoleAppend" />
            <!-- 将全局的 error 日志输出到error文件中 -->
    		<appender-ref ref="errorAppend" />
            <appender-ref ref="bizAppend" />
        </root>

    </log4j:configuration>

 

细说log4j

可能做过java项目的基本上都是用过log4j,它是用来做java日志的。比如我们做一个项目分为很多的模块,那我们怎么想要知道它什么时候启动了,这时候我们可以使用log4j标记某某模块启动了。努力的人绝对不会成为落后的标兵,... 查看详情

log4j_学习_00_资源帖

一、log4j21. log4j使用教程详解(怎么使用log4j2)2.Log4j2的基本使用 二、log4j1.【转】最详细的Log4J使用教程2.最详细的Log4j使用教程3.易百教程——Log4j教程4.Log4j使用教程  查看详情

log4j-----log4j使用指南

查看详情

细说log4j之概述

log4j官网:https://logging.apache.org/ 概述log4j目前存在2个版本:log4j1.x和log4j2.x,目前官方主推2.x版本(log4j1.x已于2015.08.05宣布停止开发,官方建议将1.x升级为2.x版本)。log4j1.x最后一个版本是1.2.17,详见:https://logging.apache.org/log4... 查看详情

log4j告警:log4j:warnnoappenderscouldbefoundforlogger(代码片段)

log4j告警:log4j:WARNNoappenderscouldbefoundforlogger可能原因参考参考资料可能原因未添加src/main/resources/log4j.properties日志。没放默认位置。$log4j.logFileBasePath是pom.xml中定义的环境变量。表示存log文件的根目录。参考log4j.rootLogger=ERRO... 查看详情

关于log4j的一个问题

log4j.rootLogger=DEBUG,A1和log4j.logger.A2=INFO,A2有什么区别?log4j.rootLogger是什么意思?log4j.rootLogger是配置log4j的根logger具体配置方法请看下面代码log4j.properties配置文件讲解如下:#SetrootloggerleveltoDEBUGanditsonlyappendertoA1#log4j中有五级logger#FAT... 查看详情

log4j 2 迁移桥 log4j-1.2-api.jar 缺少类

】log4j2迁移桥log4j-1.2-api.jar缺少类【英文标题】:log4j2migrationbridgelog4j-1.2-api.jarmissingclasses【发布时间】:2016-05-2022:34:38【问题描述】:我正在将我们应用程序中的log4j版本从log4j1.2.16升级到log4j2.5。我们有很多依赖项,所以我使用... 查看详情

log4j

参考1参考2 ###setloglevels###   log4j.rootLogger=info,error,info log4j.appender.stdout=org.apache.log4j.ConsoleAppender    log4j.appender.stdout.layout=org.apa 查看详情

log4j

<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPElog4j:configurationSYSTEM"log4j.dtd"><log4j:configurationxmlns:log4j="http://jakarta.apache.org/log4j/"><!--*1.一个appender子元素定义一个日志输出目的 查看详情

log4j

步骤:1.导入log4j.jar2.配置log4j.properties #配置级别Logger(FATAL,ERROR,WARN,INFO,DEBUG)#log4j.rootLogger=[level],appenderName1,appenderName2,...log4j.rootLogger=debug,stdout#配置日志输出目的地Appender(ConsoleAppend 查看详情

log4j

引入log4j日志jar包1.是否含有配置文件2.文件如何被引用要求:1.文件名称必须为log4j.properties2.文件路径位于resources目录下原因:log4j源码中有静态的代码块,默认读取的配置文件的路径和名称都是写死/log4j.properties 查看详情

log4j

查看部分#配置根Logger,建议开发环境中要用debug#log4j.rootLogger=debug,stdout,fstdout,cstdout#控制台输出log4j.appender.cstdout=org.apache.log4j.ConsoleAppenderlog4j.appender.cstdout.layout=org.apache.log4j.PatternLayoutlog4 查看详情

配置日志框架——log4j

Log4j作为一个开源的优秀日志框架,被广泛使用,Hibernate和MyBatis都是支持Log4j的,我们只需要引入Log4j的jar包即可。Log4j.properties文件log4j.rootLogger=info,appender1,appender2//appender1,appender2这是输出的目标地址,当然可以有多个,在这里... 查看详情

log4j——log4j.xml简单配置样例说明

一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述 二:老规矩,先来个栗子,然后再聊聊感受(1)这里栗子有一点特别呀!给出了包名唉!想必有用,是的,配置文件中要特别说明一下的packagetest.log4j.t... 查看详情

什么相当于 log4j 2 中的 log4j 1 `log4j.appender.SYSLOG.Header=true`?

】什么相当于log4j2中的log4j1`log4j.appender.SYSLOG.Header=true`?【英文标题】:Whatisequivalenttolog4j1`log4j.appender.SYSLOG.Header=true`inlog4j2?【发布时间】:2015-08-0407:29:58【问题描述】:我正在将log4j.properties迁移到log4j2.xml。前者中的Syslogappender... 查看详情

log4j.properties的作用是啥?求详解

Java中出现的log4j.properties他里面的代码的作用是什么,这个有什么用?Log4j是Apache的一个开源项目,如果采用log4j输出日志,要对log4j加载配置文件的过程有所了解。log4j启动时,默认会寻找sourcefolder下的log4j.xml配置文件。若没有... 查看详情

log4j日志输出到日志文件中和控制台中+log4j配置详解(代码片段)

1.引入log4j的jar包https://mvnrepository.com/,可以找到log4j的jar和依赖。2.创建log4j.properties,并配置log4j#设置日志的级别,多个以,分开(没有给出的,则不会被输出)log4j.rootLogger=debug,A,R#log4j.appender.logfile.encoding=UTF-8#DailyRollingFileAppender每天... 查看详情

log4j:errorcouldnotreadconfigurationfile[log4j.properties]

遇到这个错误,程序能够正常运行,log4j.properties也在classpath中,后来在网上查了资料,把下面这个语句去掉就好啦。PropertyConfigurator.configure("log4j.properties");引用: 查看详情