注意我知道this answer但这对我不起作用,我希望有一个完整的、独立的工作示例。在
我试图在Python(2.7)中将logging.basicConfig
替换为dictConfig
我的理解是basicConfig
只是设置根记录器:所以我试图用dictConfig
来做同样的事情。也就是说,用处理程序设置根记录器,然后应用程序中的所有记录器都将向上传播根记录器。在
下面的片段缺少什么?其行为是创建日志文件,但没有输出生成它。(我尝试过各种设置级别的组合,但似乎没有帮助)
import logging
log_dict = {
'loggers': {
'root': {
'handlers': ['file_handler']
}
},
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'file_handler': {
'filename': 'c:/mylogfile.log',
'class': 'logging.FileHandler'
}
}
}
logging.config.dictConfig(log_dict)
logging.info('THIS IS A TEST')
logging.shutdown()
exit()
以下代码非常适合我:
事实上,这是基于上面提到的答案
您发布的配置有几个问题:
'root'
的记录器不是根记录器。根日志记录器的名称为''
,一般来说,使用'root'
条目外部的'loggers'
配置进行更好的配置,如日志记录文档的this部分所述:WARNING
,这意味着info()
消息将不会显示。在相关问题 更多 >
编程相关推荐