出於某種原因,在我試圖修改的Python應用程序中,記錄器沒有記錄任何內容。我跟蹤誤差logging/__init__.py
禁用Python默認記錄器
def handle(self, record):
"""
Call the handlers for the specified record.
This method is used for unpickled records received from a socket, as
well as those created locally. Logger-level filtering is applied.
"""
if (not self.disabled) and self.filter(record):
self.callHandlers(record)
我不知道爲什麼,但self.disabled
是True
。在應用程序中沒有任何地方設置這個值,我不認爲任何包都在改變它。記錄器像往常一樣實例化logger = logging.getLogger(__name__)
。當我在設置logger.disabled = False
之前(在調用logger.info()
之前)記錄任何內容時,記錄器將打印預期的日誌文本。但是,如果我不這樣做,它將返回handle()
而不記錄任何內容。
有什麼辦法可以調試嗎?或許可以改變Logger
類,所以,每當disabled
被寫入一些功能被稱爲...
真棒 - 作品像魅力。感謝堆! (1) – orange 2015-02-24 12:06:55