2010-10-28 34 views
14

我正在使用Freebase Python庫。它在執行前創建一個日誌:Python根記錄器在哪裏存儲日誌?

self.log = logging.getLogger("freebase") 

這哪裏是日誌文件系統?它不在執行目錄或tmp中。

+0

我注意到這個問題沒有任何解釋downvote。如果這個人低調的話會讓我知道爲什麼我會確信在將來會更加清楚,我將不勝感激。 – 2014-04-20 19:46:51

回答

14

該調用不存儲任何內容。它只是創建一個記錄器對象,可以根據需要進行綁定和配置。

因此,如果你的Python代碼,您要添加

logging.basicConfig(level=logging.WARNING) 

所有警告和錯誤都會被記錄到標準輸出(這是basicConfig做什麼),包括遊離鹼進行調用。如果您想登錄到文件系統或其他目標,則需要參考logging module documentation以獲取更多信息。您也可以參考Logging HOWTO

+6

+1 Jason的話。你也可以做例如'logging.basicConfig(filename ='/ path/to/file.log',filemode ='w',level = logging.DEBUG)'對文件進行簡單的日誌記錄。 – 2010-10-28 12:29:51

+0

因此,在@Matt Norris的問題中'self.log'被定義後,對'self.logger.debug'的後續調用將不會被保存到磁盤(假設沒有中間調用)? – dbliss 2015-02-27 23:49:57

+0

@dbliss如果您按照Vinay的建議配置了日誌記錄,則後續對'self.log.debug'的調用將寫入該文件。如果您根據自己的回答配置日誌記錄,則對'self.log.debug'的調用將被忽略,因爲它們低於指定的「logging.WARNING」級別。 – 2015-03-02 16:31:34