您的位置:首页 > 其它

Log4j日志分文件打印配置规则

2017-12-25 17:03 316 查看

Log4j日志分文件打印配置规则

在实际工作中经常会碰到不同的日志要打印到不同的文件中,配置方法说明:

log4j.rootLogger=INFO,CONSOLE
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d;%p;%c{1};%m%n

log4j.logger.com.wangdc=DEBUG,wangdc

log4j.appender.wangdc = org.apache.log4j.RollingFileAppender
log4j.appender.wangdc.File = ${catalina.base}/logs/wangdc.log
log4j.appender.wangdc.Append = true
log4j.appender.wangdc.MaxFileSize = 50MB
log4j.appender.wangdc.MaxBackupIndex = 100
log4j.appender.wangdc.layout = org.apache.log4j.PatternLayout
log4j.appender.wangdc.layout.LocationInfo = true
log4j.appender.wangdc.layout.ConversionPattern=%d;%p;%c;(%t);%m%n

log4j.logger.akka=DEBUG,akka
log4j.appender.akka = org.apache.log4j.RollingFileAppender
log4j.appender.akka.File = ${catalina.base}/logs/akka.log
log4j.appender.akka.Append = true
log4j.appender.akka.MaxFileSize = 10MB
log4j.appender.akka.MaxBackupIndex = 100
log4j.appender.akka.layout = org.apache.log4j.PatternLayout
log4j.appender.akka.layout.LocationInfo = true
log4j.appender.akka.layout.ConversionPattern=%d;%p;%c;(%t);%m%n


以上配置实现如下效果:

com.wangdc包及子包中的debug以上日志打印到wangdc.log;

akka包及子包中的日志debug打印到akka.log;

所有info以上日志都会打印到控制台

如何实现更灵活的配置呢?

分析上述配置文件 :

1、如果类名为com.wangdc.*,会匹配到以下两条appender:

log4j.rootLogger=INFO,CONSOLE

log4j.logger.com.wangdc=DEBUG,wangdc


则日志打印到控制台和wangdc.log

2、如果类名为akka.*,与1同理

3、其他类,只匹配rootLogger,只会打印到控制台。

如果配置文件修改一下:

log4j.rootLogger=INFO,CONSOLE,wangdc

log4j.logger.com.wangdc=DEBUG


则:

1、com.wangdc包及子包中的debug以上日志打印到wangdc.log以及控制台(log4j.logger.com.wangdc会覆写rootLogger);

2、所有info以上日志打印打印到wangdc.log以及控制台,包括akka包中的类,此时akka包中的类会同时打印到两个文件 (其他类会匹配到rootLogger,发到有两个appender,Console和wangdc);

如果配置文件再修改一下:

log4j.rootLogger=INFO,CONSOLE,wangdc,akka

log4j.logger.com.wangdc=DEBUG

log4j.logger.akka=DEBUG


则:

1、所有info以上的日志都会同时打印到控制台、wangdc.log、akka.log.

2、com.wangdc包及akka包的debug以上的日志会同时打印到控制台、wangdc.log、akka.log.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  log4j log