如何设置 log4j 以根据消息的日志记录级别使用两种不同的模式?
例如,现在我正在使用适用于所有级别的以下内容:
log4j.appender.stdout.layout.ConversionPattern=%-5p %d{HH\:mm\:ss} - %m%n
我想做的是对WARN 及以上的级别使用不同的模式。如:
%-5p %d{HH\:mm\:ss} - [%L:%C] %m%n
输出发生警告或错误的行号和类。在发生警告或错误的情况下,提取调用者信息的额外成本是值得的。
这是可行的吗?
这是我的完整 log4j.properties 文件:
log4j.rootLogger=WARN, stdout1, stdout2
log4j.category.my.package=DEBUG
log4j.appender.stdout1=org.apache.log4j.ConsoleAppender
log4j.appender.stdout1.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout1.layout.ConversionPattern=%-5p %d{HH\:mm\:ss} - %m%n
log4j.appender.stdout2=org.apache.log4j.ConsoleAppender
log4j.appender.stdout2.threshold=WARN
log4j.appender.stdout2.target=System.err
log4j.appender.stdout2.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout2.layout.ConversionPattern=%-5p %d{HH\:mm\:ss} - [%t] [%L:%C] %m%n
编辑
threshold
看起来是我需要记录所有级别WARN
和更高级别的东西。是否有类似的属性可以配置其他 appender 以记录所有级别INFO
和更低级别?