我正在使用java.util.logging.Logger
類登錄我的應用程序。我添加了FileHandler,以便應用程序日誌直接存儲在log.txt文件中。記錄器無法正常工作
但由於某種原因,應用程序終止後,日誌遠未完成。在cmd上,我可以看到所有的語句,但它們從不附加到文件中。
我已經設置的FileHandler到記錄儀:
private void setLogger() {
try {
FileHandler hand = new FileHandler("log/log.txt", true);
hand.setFormatter(new SimpleFormatter());
Logger log = Logger.getLogger(ImageRename.MAIN_LOG);
//log.setUseParentHandlers(false);
log.addHandler(hand);
log.setLevel(Level.ALL);
} catch (IOException e) {
System.out.println("Could Not set logger");
}
}
帶沖洗的任何問題?如何解決它?謝謝。
PS:在調試時,我注意到,在
之間Logger.getLogger(ImageRename.MAIN_LOG).getHandlers()長度
返回0。如果它應該返回1最初它正在打印1,但在某一行它變成了零。
我認爲處理日誌的最好方法之一是使用[Apache log4j](http://logging.apache.org/log4j/1.2/)。這是一個易於使用和高度可定製的Java日誌框架 – Sujay
避免庫膨脹。我認爲log4j與* current * Java日誌(在Java 1.4中引入)相比幾乎沒有什麼好處。 –
嘗試以最高優先級進行日誌記錄,並嘗試爲*處理程序*設置一個級別。可能您的處理程序沒有設置爲在此級別登錄。 –