我只是熟悉日志模块,并且对处理不同级别的正确方法感到困惑。这flow chart表示没有低于设置的级别传递给记录器对象,那么为什么有人会记录任何低于设置的水平?我应该制作多个日志文件吗?例如,logging.basicConfig(filename='general_log.log',level=logging.WARNING)
和logging.basicConfig(filename='detailed_log.log',level=logging.DEBUG)
在单个脚本中?多个日志文件
Q
多个日志文件
1
A
回答
0
多个日志记录级别用于不同的目的。例如,作为开发人员,当您开发一些新功能时,您可以将日志记录级别设置为DEBUG
,这可以帮助您调试代码,并且在生产中运行程序时可以将日志记录级别设置为INFO
。所有的调试级别记录都将被静音。
您可以制作多个日志文件。例如,如果您想更容易地跟踪ERROR
日志,则可以将它们记录到单独的文件中,并节省时间以在常规日志文件中找到它们。
0
https://docs.python.org/2/library/logging.html#logging.basicConfig
This function does nothing if the root logger already has handlers configured for it.
调用logging.basicConfig
第二次可能不会做任何事情。
要登录到多个文件,你需要配置一个或多个处理程序:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'verbose': {
'format': '%(levelname)s %(asctime)s %(process)d %(thread)d %(name)s:%(lineno)s %(funcName)s() %(message)s'
},
},
'handlers': {
'file1': {
'level': 'WARNING',
'class': 'logging.FileHandler',
'filename': 'general_log.log',
'formatter': 'verbose',
},
'file2': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': 'detailed_log.log',
'formatter': 'verbose',
},
},
'root': {
'handlers': ['file1', 'file2'],
'level': 'DEBUG',
}
}
logging.config.dictConfig(LOGGING)
相关问题
- 1. Apache:多个日志文件?
- 2. Python日志多个文件
- 3. 多个log4j日志文件
- 4. 将日志文件解析为多个唯一日志文件
- 5. 企业库日志记录 - 多线程日志到多个日志文件
- 6. Python日志记录无法写入多个日志文件
- 7. 如何避免slf4j日志中的多个日志文件?
- 8. PhantomJS多个日志文件和日志旋转
- 9. AutoTouch的多个日志文件
- 10. Spring引导多个日志文件
- 11. Log4j的日志成多个文件
- 12. 同步查看多个日志文件
- 13. 高效跟踪多个日志文件
- 14. Log4Net和多个日志文件
- 15. Python:登录到多个日志文件
- 16. symfony中的多个日志文件
- 17. 同时监控多个日志文件
- 18. 如何分析多个日志文件
- 19. 正在生成多个日志文件
- 20. Winston的多个日志文件?
- 21. 使用Log4j的多个日志文件
- 22. python中尾部多个日志文件
- 23. 为多个日志文件滚动的log4net文件 - 文件名
- 24. 个人日志文件*
- 25. 写一个日志文件
- 26. 如何从多个日志文件,按日期排序输出从几个不同的日志文件
- 27. Windows事件日志和日志文件
- 28. Java日志记录打开“太多”日志文件
- 29. servicemix中的一个日志包含一个日志文件
- 30. 与log4j和公用日志记录的多个不相关的日志文件
因为你将有所有不同层次的脚本日志记录电话,但是当你如释放它,您可能会更改级别以仅显示致命错误。 – L3viathan
对不起,我还是有点困惑。那么答案是要改变日志级别?所以我只能记录警告,但如果它有严重的崩溃,我想看到所有我改变它来显示我调试和? –
@G华纳是的,这就是主意。我同意haifzhan的回答。 – L3viathan