为什么Log4j的添加性不起作用?

时间:2016-09-08 13:34:55

标签: java logging log4j

我有以下log4j配置

log4j.rootLogger=ERROR, myappender1    

log4j.appender.myappender1=org.apache.log4j.RollingFileAppender
log4j.appender.myappender1.File=D:/phase10/myLog1.log
log4j.appender.myappender1.MaxFileSize=10MB
log4j.appender.myappender1.MaxBackupIndex=10
log4j.appender.myappender1.layout=org.apache.log4j.PatternLayout
log4j.appender.myappender1.layout.ConversionPattern=%m%n

log4j.appender.myappender2=org.apache.log4j.RollingFileAppender
log4j.appender.myappender2.File=D:/phase10/myLog2.log
log4j.appender.myappender2.MaxFileSize=10MB
log4j.appender.myappender2.MaxBackupIndex=10
log4j.appender.myappender2.layout=org.apache.log4j.PatternLayout
log4j.appender.myappender2.layout.ConversionPattern=%m%n

log4j.logger.com.my.package=INFO, myappender2 
log4j.addivity.com.my.package=false

在此之后我运行app并在两个日志中查看 INFO WARN ERROR条消息。

我的配置有误吗?

预期结果 - myLog1.log只有ERROR条消息 在myLog2.log INFO WARN ERROR条消息中。

如果要将log4j.addivity.com.my.package=false替换为log4j.addivity=false,我会看到相同的结果)

更新

谢谢@Kevin Tanzer 在更换“添加剂”后#39;与“加性”相关在myLog1中,我看不到任何消息。在myLog2中我看到所有消息
com.my.package

记录的所有消息

1 个答案:

答案 0 :(得分:0)

最后一个配置项应该是'additivity'而不是'addivity',这可能会导致您的问题。你已经定义了两个独立的appender。

myappender1只有ERROR(和FATAL)消息。

myappender2将获取INFO,WARN和ERROR(和FATAL)消息,因为INFO的严重性低于其他消息。也就是说,订单是:

TRACE, DEBUG, 信息, 警告, 错误和 致命