您现在的位置是:主页 > Web前端技术 > Web前端技术

log4j中rootLogger的示例分析开发技术

IDCBT2021-12-27服务器技术人已围观

简介这篇文章给大家分享的是有关log4j中rootLogger的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 log4j的rootLogger及其他坑爹地方 这里用的是or

这篇文章给大家分享的是有关log4j中rootLogger的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

log4j的rootLogger及其他坑爹地方

这里用的是org.apache.log4j.Logger

log4j.rootLogger=error, stdout 
log4j.appender.appenderName=org.apache.log4j.AsyncAppender 
 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
#only time no date.outfile1 has date
 
log4j.logger.com.ht=info,outfile1 
log4j.appender.outfile1=org.apache.log4j.RollingFileAppender
log4j.appender.outfile1.File=log/ht.log
log4j.appender.outfile1.MaxFileSize=100MB
log4j.appender.outfile1.MaxBackupIndex=50
log4j.appender.outfile1.layout=org.apache.log4j.PatternLayout
log4j.appender.outfile1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %5p %c{1}:%L - %m%n
 
log4j.logger.com.ht.log=info,outfile2 
log4j.appender.outfile2=org.apache.log4j.RollingFileAppender
log4j.appender.outfile2.File=log/ht2.log
log4j.appender.outfile2.MaxFileSize=100MB
log4j.appender.outfile2.MaxBackupIndex=50
log4j.appender.outfile2.layout=org.apache.log4j.PatternLayout
log4j.appender.outfile2.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %5p %c{1}:%L - %m%n

然后有两个类,Test1在com.ht包下面,Test2在com.ht.log包下面。每个下面打印一句:logger.info();

经过试验发现!!!!

Test1将输出到控制台和ht.log

Test2将输出到控制台和ht.log和ht2.log

注意这里rootLogger的级别可是error,可见这里的级别不起作用。

对于申明appender的包rootLogger的级别设置不起作用

其实,这里的error只对于没有申明appender的包才起作用。如果去掉log4j.logger.com.ht.log这一句,Test1没有任何输出,除非logger.error才会输出到控制台。

第二点:凡是申明appender的包,不论申明级别一定会包含rootLogger的输出,如果同时指定了outfile,那么日志会出现两份。

第三点:com.ht.log这个包下面的类可以匹配到所有上级目录的设置。

日志怎么设置要想清楚啊!不然这一句打到控制台那句打到文件,出问题了查出来的日志不连贯,好几个文件查来查去。

log4j.additivity.com.ht=false 可以不写入rootLogger。默认是true

log4j rootLogger配置log4j.rootLogger=INFO,db语法为
log4j.rootLogger = [ level ] , appenderName1, appenderName2, …

    level:是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。

    Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。

    标签:

    很赞哦! ()

本栏推荐