我正在创建一个简单的应用程序,在flask中以调试模式运行。 我决定用日志来写日志
import logging
dlog = logging
dlog.basicConfig(filename='app.log', format='%(asctime)s %(message)s',
datefmt='[%Y-%m-%d | %H:%M:%S]', level=logging.INFO)
...
if __name__ == '__main__':
app.run(debug=True, host='localhost', port='8002')
但我发现in-app.log(我的应用程序不是“app.py”)Flask除了写我的日志之外还写自己的日志。 比如:
[2020-05-01 | 21:36:04] * Running on http://localhost:8002/ (Press CTRL+C to quit)
[2020-05-01 | 21:36:04] * Restarting with stat
[2020-05-01 | 21:36:05] * Debugger is active!
[2020-05-01 | 21:36:05] * Debugger PIN: 290-968-029
[2020-05-01 | 21:36:15] 127.0.0.1 - - [01/May/2020 21:36:15] "[37mGET / HTTP/1.1[0m" 200 -
[2020-05-01 | 21:36:15] 127.0.0.1 - - [01/May/2020 21:36:15] "[36mGET /static/js/main.js HTTP/1.1[0m" 304 -
为什么会发生这种情况?我如何将烧瓶日志记录与自己的日志记录分开
这是因为
logging.basicConfig
配置了根记录器。所有创建的记录器propagate log messages to their parents,除非明确告知他们不要:禁用记录器也是一个选项:
或者设置不太详细的模式
仅将flask日志保存到另一个文件更为复杂。您必须删除
StreamHandler
并手动创建FileHandler
和Formatter
logging
模块为您提供了很大的灵活性,但也可以是:相关问题 更多 >
编程相关推荐