【发布时间】:2011-12-31 20:10:55
【问题描述】:
我想做的很简单,但我似乎无法让它与 log4j 一起工作。
我需要 2 个日志文件。第一个应该包含所有 debug 或更高级别的调试语句,但只能来自 my.app 中的类。*
第二个日志文件应该包含所有警告及以上级别的消息,无论源类如何。
我尝试了以下配置,但它不起作用:
log4j.rootLogger=warn,root
log4j.appender.root=org.apache.log4j.FileAppender
log4j.appender.root.layout = org.apache.log4j.PatternLayout
log4j.appender.root.layout.conversionPattern = %d [%t] %-5p %c - %m%n
log4j.appender.root.file = /tmp/logs/warn.file
log4j.appender.root.append = true
log4j.appender.root.MaxFileSize=10MB
log4j.appender.root.MaxBackupIndex=7
log4j.logger.my.app=debug,debugAppender
log4j.appender.debugAppender = org.apache.log4j.RollingFileAppender
log4j.appender.debugAppender.file = /tmp/logs/my.debug.file
log4j.appender.debugAppender.layout = org.apache.log4j.PatternLayout
log4j.appender.debugAppender.layout.conversionPattern = %d [%t] %-5p %c - %m%n
log4j.appender.debugAppender.append = true
log4j.appender.debugAppender.MaxFileSize=10MB
log4j.appender.debugAppender.MaxBackupIndex=7
log4j.additivity.my.app=false
我认为问题出在最后一行。如果我将 additivity 设置为 true,那么调试和信息级别的消息也将添加到我的 warn.file。但如果我将其设置为 false,来自 my.app 的警告只会记录到 debug.file。
【问题讨论】: