【发布时间】:2014-04-01 16:14:36
【问题描述】:
我希望所有记录器,尤其是来自外部库的记录器,都登录到同一个文件。为了实现这一点,我正在创建 FileHandler:
filename = ...
mode = ...
level = ...
fmt = ...
handler = logging.FileHandler(filename=filename, mode=mode)
handler.setFormatter(logging.Formatter(fmt))
handler.setLevel(level)
logger = logging.getLogger()
logger.setLevel(level)
logger.addHandler(handler)
我读过同一进程中的所有记录器都从根记录器“继承”,因此它们都应该登录到同一个文件中。我在两台机器上测试过,一台是python 2.7,另一台是2.6。
在第一个上它按我的预期工作,但在另一个上,日志文件存在但为空。似乎处理程序已正确注册,但日志在某处丢失。
我不知道为什么。你有什么建议吗?
提前致谢,
格热戈茨
编辑
为了提供更全面的背景: 我有某种跑步者,它不时在不同的进程中执行任务。跑步者有自己的记录器。对于在单独进程中执行的每个任务,第一步是设置根记录器,如上所述。
【问题讨论】: