Log4J的Appenders配置

因为是刚开始使用log4j,很多配置方面的东西都不懂,记录下。

下面是我用STS(Spring Tool Suite)新建Spring MVC项目的时候,帮我自动生成的一个log4j.xml配置文件。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

<!-- Appenders -->
    <appender>
        <param value="System.out" />
        <layout>
            <param value="%-5p: %c - %m%n" />
        </layout>
    </appender>
   
    <!-- Application Loggers -->
    <logger>
        <level value="info" />
    </logger>
   
    <!-- 3rdparty Loggers -->
    <logger>
        <level value="info" />
    </logger>
   
    <logger>
        <level value="info" />
    </logger>
   
    <logger>
        <level value="info" />
    </logger>

<logger>
        <level value="info" />
    </logger>

<!-- Root Logger -->
    <root>
        <priority value="warn" />
        <appender-ref ref="console" />
    </root>
   
</log4j:configuration>

我要说的就是Appenders中的配置内容

输出方式:

org.apache.log4j.ConsoleAppender   控制台  
org.apache.log4j.FileAppender   文件  
org.apache.log4j.DailyRollingFileAppender   每天产生一个日志文件  
org.apache.log4j.RollingFileAppender   文件大小到达指定尺寸的时候产生一个新的文件  
org.apache.log4j.WriterAppender   将日志信息以流格式发送到任意指定的地方  

PatternLayout配置:

配置

   说明     举例      
 %c     输出所属的类目,通常就是所在类的全名。后面还可以带一个十进制的参数,限制输出类目的层级,默认输出完整类目。    %c    org.apache.log4j.PatternLayout       
 %c{2}    log4j.PatternLayout      
 %C      调用logger的类的类目。后面还可以带一个十进制的参数,限制输出类目的层级,默认输出完整类目。    %C    org.apache.log4j.PatternLayout    处理较慢,谨慎使用   
 %C{1}    PatternLayout  
 %d       输出日志记录的时间,后面可以带日期格式的参数,参数编码默认为ISO8601,日期格式参考SimpleDateFormat       %d    2017-04-18 09:23:56,561      
 %d{yyyy-MM-dd HH:mm:ss SSS}    2017-04-18 09:23:56 561      
 %d{ABSOLUTE}    09:23:56,561      
 %d{DATE}    18 四月 2017 09:23:56,561      
 %d{ISO8601}    2017-04-18 09:23:56,561      
%F     显示调用logger的源文件名        HomeController.Java    处理较慢,谨慎使用  
 %l    输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数        com.shanshan.bo.HomeController.border(HomeController.java:155)      
 %L    显示调用logger的代码行数            处理较慢,谨慎使用  
 %m   输出代码中指定的信息               
 %M   显示调用logger的方法名        main    处理较慢,谨慎使用   
 %n    当前系统下的换行符              
 %p    显示该条日志的优先级        INFO      
 %r   显示从程序启动时到记录该条日志时已经经过的毫秒数               
 %t   输出产生该日志事件的线程名       tomcat-http--38       
 %x   按NDC(Nested Diagnostic Context,线程堆栈)顺序输出日志               
 %X   按MDC(Mapped Diagnostic Context,线程映射表)输出日志。通常用于多个客户端连接同一台服务器,方便服务器区分是那个客户端访问留下来的日志。               
 %%   输出一个百分号               

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/b004ade9639f6e362e245593ae2abd31.html