簡體   English   中英

TimedRotatingFileHandler未從幫助程序模塊記錄日志

[英]TimedRotatingFileHandler not logging from helper modules

我正在使用Python 3.3,嘗試從幫助程序庫以及主腳本進行登錄。 文件結構:

Lib\
    __init__.py
    helper1.py
    helper2.py

script.py

在每個幫助程序模塊的頂部,我有

logger = logging.getLogger(__name__)

如果我在script.py使用basicConfig ,那么從模塊進行的所有日志記錄都會很好。 但是,如果嘗試使用TimedRotatingFileHandler ,則只能從script.py獲取日志。

basicConfig-按預期工作:

import logging
from logging.handlers import TimedRotatingFileHandler

logging.basicConfig(filename='log_file.log',
                format='%(levelname)s - %(asctime)s - %(message)s',
                level=logging.DEBUG)


logger = logging.getLogger(__name__)

TimedRotatingFileHandler-從助手庫進行日志記錄未通過:

import logging
from logging.handlers import TimedRotatingFileHandler

handler = TimedRotatingFileHandler('rotating_log_file.log',
                                when = "d",
                                interval = 1,
                                backupCount =5)

formatter = logging.Formatter("%(asctime)s - %(levelname)s - %(message)s")
handler.setFormatter(formatter)
logger.addHandler(handler)

logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)

如何獲取它,以便所有日志記錄都通過使用TimedRotatingFileHander

將處理程序添加到根記錄器並在根記錄器上設置級別-即僅在script.py中,

root_logger = logging.getLogger()
root_logger.addHandler(handler)
root_logger.setLevel(logging.DEBUG)

然后,只需使用其他logger變量進行實際記錄即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM