使用標準Java日誌API(進口java.util.logging.Logger中),施工後:Java日誌API,禁用記錄到標準輸出
Logger l = Logger.getLogger("mylogger");
我已經可以登錄的東西。由於它沒有FileHandler,因此它不會向磁盤寫入任何內容。
l.severe("test with no handler");
它寫(輸出一些,不是全部)日誌消息。 如何禁用此功能? 由於事先 阿戈斯蒂諾
使用標準Java日誌API(進口java.util.logging.Logger中),施工後:Java日誌API,禁用記錄到標準輸出
Logger l = Logger.getLogger("mylogger");
我已經可以登錄的東西。由於它沒有FileHandler,因此它不會向磁盤寫入任何內容。
l.severe("test with no handler");
它寫(輸出一些,不是全部)日誌消息。 如何禁用此功能? 由於事先 阿戈斯蒂諾
問題在於,如果你不知道java util logging的默認配置。 建築事實: 0)每個記錄器,無論其名稱是否具有根記錄器作爲父記錄器。 默認事實: 1)記錄器屬性useParentHandler爲是默認 2)真實的根記錄預設具有ConsoleHandler
大二默認情況下,一個新的記錄器將其日誌記錄也發送到他的父記錄器(點1),該記錄器是根記錄器(點0),默認情況下,它們將記錄到控制檯(點2)。
刪除控制檯日誌記錄是很容易的:
Logger l0 = Logger.getLogger("");
l0.removeHandler(l0.getHandlers()[0]);
標準記錄儀在Java中是在默認情況下,層次結構和子記錄器繼承父母的處理程序。試試這個來抑制父處理程序被使用:
l.setUseParentHandlers(false);
請解釋你的答案爲什麼會起作用,而不僅僅是給出答案。 – ArtB 2013-08-26 13:02:43
l.setLevel(Level.OFF); – 2017-11-14 13:56:47