Log4j的配置方法

这里用的是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这个包下面的类可以匹配到所有上级目录的设置。
日志怎么设置要想清楚啊!不然这一句打到控制台那句打到文件,出问题了查出来的日志不连贯,好几个文件查来查去。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值