Log4j设置,不显示我的包的日志

时间:2014-02-20 10:46:57

标签: log4j

我想让我的log4j属性正常工作,我觉得搞砸了。

log4j.rootLogger=ALL
log4j.appender.CA=org.apache.log4j.ConsoleAppender
log4j.appender.CA.layout=org.apache.log4j.PatternLayout
log4j.appender.CA.layout.ConversionPattern=%d{ddMMMyy HH:mm:ss,SSS} %-4r [%t] %-5p %c{1} %x - %m%n
log4j.logger.org.hibernate=ERROR
log4j.debug=TRUE
log4j.logger.net.spy.memcached=ERROR
log4j.logger.com.mcruiseon.server=ALL

我的包是 com.mcruiseon.server

1 个答案:

答案 0 :(得分:1)

您可以尝试这样的事情:

log4j.rootLogger=ERROR, CA
log4j.logger.com.mcruiseon.server=INFO, CA
log4j.additivity.com.mcruiseon.server=false

log4j.appender.CA=org.apache.log4j.ConsoleAppender
log4j.appender.CA.layout=org.apache.log4j.PatternLayout
log4j.appender.CA.layout.ConversionPattern=%d{ddMMMyy HH:mm:ss,SSS} %-4r [%t] %-5p %c{1} %x - %m%n

这样做:定义一个CA控制台记录器,告诉rootLogger将ERROR及以上记录到CA,为您的包定义一个记录器,将INFO及以上记录到CA,并将其加性设置为false,以防止消息出现在多个一个appender(这里没有问题,因为你只有CA,但是一旦你将你的记录器路由到它自己的文件追加器就会成为一个。)