【问题标题】:Python 2.7 RotatingFileHandler not logging from modulesPython 2.7 RotatingFileHandler 不从模块记录
【发布时间】:2014-02-01 19:33:56
【问题描述】:

我正在尝试使用模块日志记录在 Python 2.7 中设置 RotatingFileHandler,但无论我做什么,我都只能让顶级脚本写入日志文件。

这是我的顶级脚本中的代码:

import logging
import Lib.download as d

LOG_FILE = public_dir + "\script2.log"

log = logging.getLogger('Script_2')
log.setLevel(logging.DEBUG)

rotate_handler = handlers.RotatingFileHandler(LOG_FILE, maxBytes = 5000, backupCount=5)
log_format = logging.Formatter('%(asctime)s %(name)-8s:%(levelname)s:%(message)s')
rotate_handler.setFormatter(log_format)

log.addHandler(rotate_handler)

log.debug('Launching meat of script_2')
d.some_function()
log.info('script_2 completed successfully')

“下载”模块中的代码:

import logging
log = logging.getLogger('script_2.download')

def some_function():
    log.debug('doing some_function')

我的输出没有反映模块日志记录

2014-01-13 12:56:04,428 Script_2:DEBUG:Launching the meat of script_2
2014-01-13 12:56:05,005 Script_2:INFO:Script_2 completed successfully

我错过了什么?在我添加 RotatingFileHandler 之前,日志记录模块工作得很好......

我尝试过论坛中的其他解决方案,包括Python logging over multiple files

但没有骰子。有什么帮助吗?

【问题讨论】:

    标签: python-2.7 logging


    【解决方案1】:

    不确定您是否发现了这一点,但根据提供的信息,您的记录器名称似乎不匹配。

    在您的主脚本中,您将记录器定义为'Script_2',而在您的'download' 模块中,您引用了'script_2.download'。所以父母是大写的,而孩子不是。

    所以实际上有两个不同的记录器不共享相同的层次结构。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-09
      • 1970-01-01
      • 1970-01-01
      • 2011-03-20
      • 2023-03-19
      • 1970-01-01
      相关资源
      最近更新 更多