2013-04-07 74 views
0

我正在使用一個庫,使用log4j輸出到控制檯。但是,使用該庫的方法會被多次調用,這意味着控制檯始終是滿的。我需要一種停止log4j輸出到控制檯的方式。沉默log4j

我看到了類似的問題,但無法解決該怎麼做。

我認爲(如果我已經理解)在log4j中有一個方法或變量,我必須參考但是知道具體是什麼。 另外,我要導入什麼來訪問log4j?

非常感謝您的幫助!

剛剛實現:輸出看起來像可以通過修復某些東西來停止?請檢查下面。

輸出:

log4j:WARN No appenders could be found for logger (eu.medsea.mimeutil.TextMimeDetector). 
log4j:WARN Please initialize the log4j system properly. 
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 
+0

意味着它找不到log4j.properties文件 – TheEwook 2013-04-07 15:04:00

+0

@TheEwook想你的權利 - 當我在終端而不是在Eclipse中運行它時,它工作正常(沒有額外的輸出)。 – 2013-04-07 15:10:15

回答

1

您可以將日誌級別更改爲錯誤,例如限制登錄你有量。

通常日誌級別位於log4j.properties文件中。

例:

# Root logger option 
log4j.rootLogger=ERROR 
0

在正常工作的終端上運行(而不是在Eclipse中運行)時,才意識到。猜測這意味着它無法找到您的答案中提到的文件。乾杯。

0

消息WARN Please initialize the log4j system properly意味着(如上所述)log4j未正確初始化,因爲您的應用程序在運行時無法找到lo4j.properties文件。

你可以得到這個文件在這裏的基本版本:log4j sample configuration file (properties file)

只是把它放在你的classpath。完成此操作後,您可以根據需要配置日誌記錄級別。例如,要關閉所有消息(並只保留實際的錯誤消息),在lo4j.properties文件中,您可以將根記錄器級別設置爲錯誤,如TheEwook所解釋的。

如果你仍然有問題,那麼你應該檢查你的構建程序,但具體的檢查取決於你用來編譯的工具。例如,如果您使用Eclipse,通常lo4j.properties應位於resources目錄中,該目錄應設置爲源文件夾。如果你使用Maven,通常這樣的文件應該位於src/main/resources目錄中。如果您使用Ant,可能需要使用Ant的任務複製此文件。

換句話說,無論您的構建過程如何,請確保lo4j.properties在運行時類路徑中可見。