2014-02-20 26 views
0

我想让我的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

+0

什么是loglevel ALL?这不应该像INFO或DEBUG那样吗?另外,不应该你的记录器设置选择一个合适的appender? – wallenborn

+0

这工作? log4j.rootLogger = INFO,ConsoleAppender – Siddharth

回答

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记录错误和在CA之前,为你的包定义一个记录器,记录INFO及以上到CA,并将其可加性设置为false,以防止消息出现在多个appender中(这里没有问题,因为你只有CA,但将成为一个一旦您将记录器路由到它自己的文件appender)。