如何对多个记录器使用相同的文件处理程序,但根据记录器上的不同使用不同的文件名? 我可以避免写3次文件处理程序定义吗?你知道吗
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'file': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': '...', # I do not want to set the file name here because I want it to be different based on the logger: loggerA.log, loggerB.log, loggerC,log
},
},
'loggers': {
'loggerA': {
'handlers': ['file'],
'propagate': True,
'level': 'INFO',
},
'loggerB': {
'handlers': ['file'],
'level': 'ERROR',
'propagate': False,
},
'loggerC': {
'handlers': ['file'],
'level': 'INFO',
'filters': ['special']
}
}
}
谢谢
为此,您需要创建自己的处理程序,例如,它创建了一个处理程序列表,然后根据记录器将每个事件传递给其中一个处理程序。仅仅保存一点配置似乎不值得。你知道吗
您不必在配置中重复不必要的内容,您可以根据the documentation引用配置的共享区域。你知道吗
相关问题 更多 >
编程相关推荐