我的任务非常简单:将所有事件(警告及以上)写入主日志,对于某些记录器,仅将调试消息写入第二个日志文件(警告及以上必须记录到主日志)。有时我也希望在主日志中看到调试消息(例如 log4j.logger.com.test=debug)
此外,我必须使用 log4j 属性文件语法。我不明白在这种情况下可加性(见我的最后一行)是否可以是有条件的,或者我应该对任务使用完全不同的方法(哪一种?)。
我现在拥有的:
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.EnhancedPatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %-5p [%t] %c:%L - %m%n
log4j.rootLogger=warn, stdout
log4j.appender.file2=org.apache.log4j.RollingFileAppender
log4j.appender.file2.maxFileSize=10240KB
log4j.appender.file2.maxBackupIndex=30
log4j.appender.file2.File=${catalina.home}/logs/test.log
log4j.appender.file2.encoding=UTF-8
log4j.appender.file2.layout=org.apache.log4j.PatternLayout
log4j.appender.file2.layout.ConversionPattern=%d %-5p [%t] %c:%L - %m%n
log4j.logger.org.hibernate = debug, file2
log4j.additivity.org.hibernate = false
log4j.logger.com.test=debug