我正在尝试将我的应用程序中发生的所有内容记录到两个日志中:一个日志将包含所有内容,另一个日志将只有INFO和向上(因此,一个文件将包含所有内容,而另一个文件将包含所有内容等级INFO,WARN,ERROR等)。第一个文件适用于开发人员,第二个文件适用于测试人员。
任何人都可以指出我在正确的方向吗?我读了这篇关于自定义过滤器的文章:
但我在想,因为我想要的只是从一个文件中排除一个级别,所以可能有一种更简单的本机方式。有人能给我一个如何在属性文件中执行此操作的示例吗?
感谢。
答案 0 :(得分:4)
将记录器指向两个appender。一个阈值设置为Info。
从示例复制......
log4j.rootLogger=DEBUG, CA, FA
# Console Appender
log4j.appender.CA=org.apache.log4j.ConsoleAppender
log4j.appender.CA.layout=org.apache.log4j.PatternLayout
log4j.appender.CA.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
# File Appender
log4j.appender.FA=org.apache.log4j.FileAppender
log4j.appender.FA.File=sample.log
log4j.appender.FA.layout=org.apache.log4j.PatternLayout
log4j.appender.FA.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
# Set the logger level of File Appender to WARN
log4j.appender.FA.Threshold = WARN