【发布时间】:2012-03-07 20:41:20
【问题描述】:
我正在通过读取文件并使用fileConfig 选项在 main.py 中设置我的 Python 日志记录。我希望能够在测试和实时日志配置之间切换,所以我想先读取一个单独的配置文件并从那里提取日志配置文件路径。
这里的问题是我从 main.py 导入的其他文件通过log = getLogger(__name__) 获取了自己的记录器,这发生在导入时。当新配置被加载时,这些链接会被破坏,这些模块最终没有按照我期望的方式进行日志记录。
如果不进行大量重构,我不能轻易延迟这些模块的导入,那么有没有其他方法能够保持这种按模块名称设置记录器的方法,同时仍然在以后加载日志配置?
【问题讨论】:
-
在加载配置文件之前,我会尝试查看已经初始化的记录器的
handlers属性并清除它(例如分配空列表)。跨度>