[英]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.