Log4j Threshold指定输出等级&&Append指定是否追加内容


Threshold指定输出等级

有时候我们需要把一些报错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信息;

QQ鎴�浘20170329172035.jpg


QQ鎴�浘20170329172043.jpg


Append指定是否追加内容


Log4j默认配置为true,在日志的最后加追内容。

当设置为false时,会覆盖日志。日志文件只有当前信息。


鸣谢:Java1234小峰老师。


Reference:

[1] Java1234_小锋, Log4j Threshold属性指定输出等级, http://blog.java1234.com/blog/articles/272.html

[2] Java1234_小锋, Log4j Append属性指定是否追加内容, http://blog.java1234.com/blog/articles/273.html

原文地址:https://www.cnblogs.com/ryelqy/p/10104169.html