2014-02-20 66 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)。