繁体   English   中英

带有FileHandler的python根记录器无法记录

[英]python root logger with FileHandler does not log

我希望所有记录器(尤其是来自外部库的记录器)登录到同一文件。 为此,我正在创建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)

我已经读过,同一进程中的所有记录器都是从root记录器“继承”来的,因此它们毕竟应该登录到同一文件中。 我已经在两台机器上对其进行了测试,一台使用python 2.7,另一台使用2.6。

在第一个上,它按我的预期工作,但是在另一个上,日志文件存在但为空。 似乎处理程序已正确注册,但是日志丢失了。

我不知道为什么。 你有什么建议吗?

提前致谢,

格热哥兹

编辑

为了提供更全面的背景知识:我有某种跑步者,有时会在单独的流程中执行任务。 跑步者有自己的记录器。 对于在单独过程中执行的每个任务,第一步是设置根记录器,如上所述。

Python2.6和Python2.7之间有细微的差别。 方法setLevel在2.6接受常量如logging.DEBUG而2.7,可同时接收logging.DEBUG常数和字符串"DEBUG"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM