2016-06-17 171 views
1

我有一個簡單的Maven項目,並試圖獲得log4j實施。Maven項目log4j不工作

部署到本地tomcat。沒有在eclipse的控制檯中打印logger.debug()。

我錯過了什麼嗎?

這是我的結構:enter image description here

的pom.xml:

<!-- http://mvnrepository.com/artifact/log4j/log4j --> 
<dependency> 
<groupId>log4j</groupId> 
<artifactId>log4j</artifactId> 
<version>1.2.17</version> 
</dependency> 

類:

final static Logger logger = Logger.getLogger(myclass.class); 

的.properties文件

# Root logger option 
log4j.rootLogger=INFO, stdout 
log4j.rootLogger=DEBUG, stdout 
log4j.rootLogger=ERROR, stdout 
# Direct log messages to stdout 
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{yyyy-MM-dd HH:mm:ss} %-5p  %c{1}:%L - %m%n 
+0

爲什麼你有幾個rootLogger屬性定義?我的猜測是,最後一個將rootLogger設置爲ERROR級別的設置覆蓋了前兩個設置。你應該只在中間有DEBUG行。 – rmlan

+0

如果我還想要這些,該怎麼辦? –

+0

查看我的回答獲取解釋 – rmlan

回答

1

只需刪除多餘的rootLogger聲明:

# Root logger option 
log4j.rootLogger=DEBUG, stdout 
# Direct log messages to stdout 
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{yyyy-MM-dd HH:mm:ss} %-5p  %c{1}:%L - %m%n 

日誌記錄級別包含「高於」級別的級別。例如,將日誌級別設置爲DEBUG將自動包括DEBUG,INFO,WARN,ERROR和FATAL消息。沒有必要爲每一個聲明日誌級別。

+0

ahhhhhh ...得到了亞 –

+0

感謝我的朋友.....現在工作 –