使用Python 3.3,我试图从帮助程序库和主脚本登录。文件结构:
Lib\
__init__.py
helper1.py
helper2.py
script.py
在每个助手模块的顶部,我有
logger = logging.getLogger(__name__)
如果我在basicConfig
中使用script.py
,那么从模块进行的所有日志记录都可以正常进行。但是,如果我尝试使用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
?
答案 0 :(得分:0)
在根记录器上添加处理程序并设置级别 - 即仅在script.py中,
root_logger = logging.getLogger()
root_logger.addHandler(handler)
root_logger.setLevel(logging.DEBUG)
然后只使用其他logger
变量进行实际记录。