首先看这一段简单的log4j配置
log4j.logger.cn=debug,stdout
log4j.logger.cn.heapstack=debug,stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p %c line.%L: %m%n 这个配置导致日志文件中输出两行相同的结果
原因是这样的,第二行的logger继承自第一行的logger,两个logger的apperder都是指向stdout
Appender的输出是独立的,所以导致了我们使用如下代码获得logger的时候会输出两行
public static Logger logger = Logger.getLogger(cn.heapstack.demopkg.Main.class);
知道这个原因之后解决办法也就简单了,即我们不需要定义重复的appder,
可以把第二行最后的stdout去掉,或者注释掉第二行,如果输出级别相同的话
posted on 2007-09-28 09:57
jht 阅读(1301)
评论(0) 编辑 收藏 所属分类:
J2EE