有時候我們需要把一些報錯ERROR日志單獨存到指定文件 ,這時候,Threshold屬性就派上用場了;
Threshold屬性可以指定日志level
Log4j根據日志信息的重要程度,分OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL
比如我們指定某個appender的Threshold為WARN,那這個appender輸出的日志信息就是WARN級別以及WARN以上的級別;
假如我們指定的是ERROR,那這個就輸出ERROR或者FATAL日志信息;
當然這里有個提前 rootLogger里配置的level比如小於Threshold層級 否則無效 還是按照總的rootLogger里的level來輸出,一般我們實際實用的話 rootLogger里配置DEBUG,然后某個文件專門存儲ERRO日志,就配置下Threshold為ERROR,這個就是我們的最佳實踐,不要亂七八糟瞎配置;
我們給下參考配置:
log4j.rootLogger=DEBUG, Console ,DFile ,EFILE
#Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.TTCCLayout
#DEBUGFile
log4j.appender.DFile = org.apache.log4j.FileAppender
log4j.appender.DFile.File = C://DEBUG.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 = C://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
rootLogger里配置DEBUG,
DFile的Threshold 配置為DEBUG
EFILE的Threshold 配置為ERROR 只輸入ERROR信息;
ERROR.LOG只輸出error信息;