Log4j不同等级输入不同文件(转)

来源:互联网 发布:万方数据库免费帐号 编辑:程序博客网 时间:2024/05/09 14:59
主要是利用Threshold.

Threshold的语法

log4j.threshold=level

level就是前面所说的 OFF ,FATAL ,ERROR ,WARN ,INFO ,DEBUG ,ALL。Threshold是个全局的过滤器,它将把低于所设置的level的信息过滤不显示出来。
看一个例子:

log4j.rootLogger=DEBUG, CON
log4j.appender.CON=org.apache.log4j.ConsoleAppender
log4j.appender.CON.layout=org.apache.log4j.PatternLayout
log4j.appender.CON.layout.ConversionPattern=[%t] %-5p %c - %m%n
#Only print log statement of level WARN or above regardless of the(只打印warn级别以上的信息)
#logger.
log4j.threshold=WARN

Threshold的用法很灵活,还可以在appender中增加threshold

log4j.rootLogger=DEBUG, C
log4j.appender.C=org.apache.log4j.ConsoleAppender
# Set the appender threshold to INFO
log4j.appender.C.Threshold=INFO
log4j.appender.C.layout=org.apache.log4j.PatternLayout
log4j.appender.C.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

这里初始设置 level为DEBUG ,但log4j.appender.C.Threshold=INFO 设置为INFO。因为 INFO>DEBUG 所以如果含有DEBUG级别的信息,将被过滤。

 

 

[java] view plaincopyprint?
  1. log4j.rootLogger=debug, stdout, R  
  2.   
  3.   
  4. log4j.appender.stdout=org.apache.log4j.ConsoleAppender  
  5. log4j.appender.stdout.layout=org.apache.log4j.PatternLayout  
  6. log4j.appender.stdout.layout.ConversionPattern=[%d] [%4p] %l %m%n  
  7.   
  8. log4j.appender.R=org.apache.log4j.RollingFileAppender  
  9. log4j.appender.R.Encoding=GBK  
  10. log4j.appender.R.Threshold=info  
  11. log4j.appender.R.File=cohl_elearning.log  
  12. #..//oil//applications//cohlElearning//cohlElearning//  
  13. log4j.appender.R.MaxFileSize= 2048KB  
  14. log4j.appender.R.MaxBackupIndex=20  
  15. log4j.appender.R.layout=org.apache.log4j.PatternLayout  
  16. log4j.appender.R.layout.ConversionPattern=[%d] [%t] [%4p] %l %m%n    

[java] view plaincopyprint?
  1. public class TestJava {  
  2.   
  3.     static Logger logger = Logger.getLogger(TestJava.class);  
  4.     /** 
  5.      * @param args 
  6.      */  
  7.     public static void main(String[] args) {  
  8.     loggerTest();  
  9.     }      
  10. public static void loggerTest() {  
  11.         logger.info("logger info");  
  12.         logger.debug("logger debug");  
  13.         logger.error("logger error");  
  14.           
  15.     }  
  16. }  

 

0 0