2012-06-04 125 views
2

我正在使用java.util.logging.Logger,我想啓用所有日誌級別。我認爲以下將起作用:java.util.logging.Logger吞嚥日誌

logger.setLevel(Level.ALL); 

但顯然它沒有。只有INFO級別的日誌記錄正在生效,其他人正在被吞噬。

如何啓用所有日誌級別?

+0

我有類似的android本機日誌記錄的經驗,到目前爲止沒有答案。見http://stackoverflow.com/questions/9468444/bug-in-android-util-log-or-in-my-sample-code-thinking – k3b

+0

@ k3b,這是令人驚訝的。我希望至少回答這個問題是已知的。 – missingfaktor

回答

3

這可能是日誌處理程序吞噬日誌記錄。您還需要在處理程序上設置日誌級別。例如:

for (Handler handler : Logger.getLogger("").getHandlers()) { 
    handler.setLevel(Level.ALL); 
} 

或者你可以閱讀從logging.properties文件配置(只是把它放在你的CLASSPATH的根),或者你可以閱讀使用LogManager.getLogManager().readConfiguration(someInputStream)流的logging.properties風格的配置。

+0

我嘗試在所有處理程序上將日誌級別設置爲'Level.ALL'。沒有不同。 – missingfaktor

+1

確保您獲得根記錄器。您的記錄器有一組空的處理程序,它將日誌處理延遲到其父記錄器。 – sjr

+0

工作。謝謝! – missingfaktor