阅读更多
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)