我已经为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);
发布于 2018-02-28 08:32:32
要更改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。
发布于 2015-11-09 06:59:51
它看起来像是werkzeug将消息发送到根记录器而不是命名记录器。
如果您尝试这样做,它应该会开始记录到您的文件logging.getLogger().addHandler(fh)
如果您希望它停止记录到控制台,那么您必须从根记录器中删除流处理程序。您可以使用以下命令查看根记录器的处理程序
>>> print logging.getLogger().handlers [<logging.StreamHandler object at 0x.....>, logging.handlers.TimedRotatingFileHandler object at 0x.....>]
发布于 2018-12-27 01:56:44
为了将flask服务器/应用程序日志定向到一个文件处理程序,并将werkzeug定向到同一个文件处理程序,您可能需要执行类似以下操作。
handler = RotatingFileHandler('test.log', maxBytes=1000000, backupCount=5)
handler.setLevel(logging.DEBUG)
app.logger.addHandler(handler)
log = logging.getLogger('werkzeug')
log.setLevel(logging.DEBUG)
log.addHandler(handler)
app.run(host='0.0.0.0', debug=True)
https://stackoverflow.com/questions/31048596
复制相似问题