我正在尝试将我的应用程序中发生的一切记录到两个日志中:一个日志将包含所有内容,另一个将仅包含 INFO 及以上(因此,一个文件将包含所有内容,而另一个将仅包含信息、警告、错误等级别)。第一个文件供开发人员使用,第二个文件供测试人员使用。
任何人都可以在这里指出正确的方向吗?我读了这篇关于自定义过滤器的文章:
但我在想,既然我想要的只是从一个文件中排除一个级别,那么可能有一种更简单、 native 的方法可以做到这一点。有人可以给我一个例子,说明我将如何在属性文件中执行此操作吗?
谢谢。
最佳答案
将您的记录器指向两个附加程序。一个阈值设置为信息。
从示例中复制...
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
关于java - 基于 log4j 级别的日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9910778/