在日志中我们经常会配置不同级别输出到不同的文件中,可是会在rootLogger中也会打印一次,如何做到不打印2次呢?答案是log4j.additivity,请看下面的配置用例:
log4j.rootLogger=INFO,FILE
log4j.logger.accessLog=INFO,x2
log4j.additivity.accessLog=false #不再父类中打印
log4j.appender.x2=org.apache.log4j.DailyRollingFileAppender
log4j.appender.x2.DatePattern='.'yyyy-MM-dd
log4j.appender.x2.Append=true
log4j.appender.x2.File=${catalina.home}/logs/accessLog.log
log4j.appender.x2.Threshold=INFO
log4j.appender.x2.layout=org.apache.log4j.PatternLayout
log4j.appender.x2.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%t] [%5p] - %c -%F(%L) -%m%n