gpt4 book ai didi

python - 使用 TimedRotatingHandler 时如何将 python flask werkzeug 日志重定向到日志文件?

转载 作者:太空狗 更新时间:2023-10-30 00:06:38 24 4
gpt4 key购买 nike

我已经为 Flask 服务器创建了一个 TimedRotatingHandler。但是 werkzeug 生成的所有日志仍然在控制台上抛出。

如何使用日志轮转功能将这些日志重定向到日志文件 (test.log)。

代码片段:

log = logging.getLogger(__name__)
log.setLevel(logging.DEBUG)
# add a file handler
fh = logging.handlers.TimedRotatingFileHandler("test.log",when='M',interval=1,backupCount=0)
fh.setLevel(logging.DEBUG)
# create a formatter and set the formatter for the handler.
frmt = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
fh.setFormatter(frmt)
# add the Handler to the logger
log.addHandler(fh)
app.run(host='0.0.0.0', debug=True)

控制台仍然抛出以下日志。

* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
* Restarting with stat
192.168.1.6 - - [25/Jun/2015 07:11:13] "GET / HTTP/1.1" 200 -
192.168.1.6 - - [25/Jun/2015 07:11:13] "GET /static/js/jquery-1.11.2/jquery-1.11.2.min.js HTTP/1.1" 304 -
192.168.1.6 - - [25/Jun/2015 07:11:13] "GET /static/js/main/main.js HTTP/1.1" 304 -
192.168.1.6 - - [25/Jun/2015 07:11:13] "GET /favicon.ico HTTP/1.1" 404 -

将日志文件处理程序添加到 werkzeug 记录器也不能解决问题

logging.getLogger('werkzeug').addHandler(fh);

最佳答案

要更改 werkzeung 日志记录,您需要重写 logging.root.handler,例如:

import logging
from logging.handlers import RotatingFileHandler

handler = RotatingFileHandler('log.log', maxBytes=10000, backupCount=1)
handler.setLevel(logging.ERROR)

logging.root.handlers = [handler]

参见 here了解详情。

关于python - 使用 TimedRotatingHandler 时如何将 python flask werkzeug 日志重定向到日志文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31048596/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com