根据log4j上的级别进行日志记录

时间:2012-03-28 15:26:51

标签: java logging log4j

我正在尝试将我的应用程序中发生的所有内容记录到两个日志中:一个日志将包含所有内容,另一个日志将只有INFO和向上(因此,一个文件将包含所有内容,而另一个文件将包含所有内容等级INFO,WARN,ERROR等)。第一个文件适用于开发人员,第二个文件适用于测试人员。

任何人都可以指出我在正确的方向吗?我读了这篇关于自定义过滤器的文章:

http://veerasundar.com/blog/2011/05/log4j-tutorial-writing-different-log-levels-in-different-log-files/

但我在想,因为我想要的只是从一个文件中排除一个级别,所以可能有一种更简单的本机方式。有人能给我一个如何在属性文件中执行此操作的示例吗?

感谢。

1 个答案:

答案 0 :(得分:4)

将记录器指向两个appender。一个阈值设置为Info。

Good Example

从示例复制......

 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