You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Werkzeug的GET请求日志设置为INFO级别?

解决方案

你可以通过调整Werkzeug内置日志器的级别来实现需求,无需自定义Logger:

方法1:在Flask应用代码中设置

在你的Flask应用初始化代码末尾添加以下内容:

import logging
# 将Werkzeug日志器的级别设为INFO,只输出请求日志(INFO级),过滤DEBUG级的"Closing connection"
logging.getLogger('werkzeug').setLevel(logging.INFO)

同时启动gunicorn时保持日志级别为DEBUG,确保应用自身的DEBUG日志正常输出:

gunicorn --log-level debug your_app:app

方法2:通过gunicorn配置文件设置

如果不想修改Flask代码,可以在gunicorn的配置文件(如gunicorn.conf.py)中添加启动钩子来调整日志级别:

# 全局日志级别设为DEBUG,保留应用的DEBUG细节
loglevel = 'debug'

def on_starting(server):
    import logging
    # 调整Werkzeug日志器级别
    logging.getLogger('werkzeug').setLevel(logging.INFO)

启动时指定配置文件:

gunicorn -c gunicorn.conf.py your_app:app

原理说明

Werkzeug的HTTP请求日志(如GET /path HTTP/1.1)默认是INFO级别,而"Closing connection"这类冗余日志属于DEBUG级别。通过将werkzeug日志器的级别设为INFO,就能只保留请求日志,过滤掉连接关闭这类DEBUG日志;同时全局日志级别保持DEBUG,确保你应用自身的DEBUG级细节日志正常输出。

内容的提问来源于stack exchange,提问作者dsenese

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 14:25:14