欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Log4j Threshold属性指定输出等级

程序员文章站 2022-04-26 08:37:32
...
1. Log4j Threshold属性指定输出等级

把一些报错ERROR日志单独存到指定文件使用Threshold属性。
比如指定某个appender的Threshold为WARN,那这个appender输出的日志信息就是WARN级别以及WARN以上的级别。

log4j.appender.DFile.Threshold = ERROR


package com.open1111;
import org.apache.log4j.Logger;
public class Test {
    private static Logger logger = Logger.getLogger(Test.class);
    public static void main(String[] args) {
        logger.fatal("严重错误fatal信息");
        logger.error("报错error信息");
        logger.error("报错信息", new IllegalArgumentException("非法参数"));
        logger.warn("警告warn信息");
        logger.info("普通Info信息");
        logger.debug("调试debug信息");
    }
}


log4j.rootLogger=DEBUG, Console ,DFile ,EFILE

#Console  
log4j.appender.Console=org.apache.log4j.ConsoleAppender  
log4j.appender.Console.layout=org.apache.log4j.PatternLayout  
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n 

#DEBUGFile
log4j.appender.DFile = org.apache.log4j.FileAppender
log4j.appender.DFile.File = E://log4j-File-Sub-ALL.log
log4j.appender.DFile.layout = org.apache.log4j.PatternLayout
log4j.appender.DFile.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n
log4j.appender.DFile.Threshold = DEBUG

#ERRORFile
log4j.appender.EFILE = org.apache.log4j.FileAppender
log4j.appender.EFILE.File = E://log4j-File-Sub-ERROR.log
log4j.appender.EFILE.layout = org.apache.log4j.PatternLayout
log4j.appender.EFILE.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n
log4j.appender.EFILE.Threshold = ERROR


运行结果:

log4j-File-Sub-ALL.log

2018-12-11 21:55:13,744 [main] FATAL [com.open1111.Test] - 严重错误fatal信息
2018-12-11 21:55:13,745 [main] ERROR [com.open1111.Test] - 报错error信息
2018-12-11 21:55:13,745 [main] ERROR [com.open1111.Test] - 报错信息
java.lang.IllegalArgumentException: 非法参数
    at com.open1111.Test.main(Test.java:8)
2018-12-11 21:55:13,748 [main] WARN  [com.open1111.Test] - 警告warn信息
2018-12-11 21:55:13,748 [main] INFO  [com.open1111.Test] - 普通Info信息
2018-12-11 21:55:13,748 [main] DEBUG [com.open1111.Test] - 调试debug信息

log4j-File-Sub-ERROR.log

2018-12-11 21:55:13,744 [main] FATAL [com.open1111.Test] - 严重错误fatal信息
2018-12-11 21:55:13,745 [main] ERROR [com.open1111.Test] - 报错error信息
2018-12-11 21:55:13,745 [main] ERROR [com.open1111.Test] - 报错信息
java.lang.IllegalArgumentException: 非法参数
    at com.open1111.Test.main(Test.java:8)
相关标签: log4j