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

Flask中调用导入类的方法时无法输出日志的问题

解决Flask应用中无法输出DEBUG级日志的问题

Python的logging模块默认日志级别为WARNING,只有级别≥WARNING的日志才会被输出。你代码中使用LOG.debug()输出的日志级别低于默认阈值,所以终端不会显示这条日志。

方案1:在base.py中配置日志

修改base.py,添加日志基础配置,将级别设为DEBUG并指定输出规则:

import logging

# 配置日志:设为DEBUG级别,输出到终端
logging.basicConfig(
    level=logging.DEBUG,
    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)

LOG = logging.getLogger(__name__)

class MyClass:
    def my_method(self):
        LOG.debug("debug logs here")

方案2:在Flask主应用中统一配置

若不想修改base.py,可在主应用启动时统一配置日志:

from flask import Flask
from base import MyClass
import logging

app = Flask(__name__)

# 配置根logger级别为DEBUG,所有子logger将继承该设置
logging.basicConfig(level=logging.DEBUG)

@app.route("/")
def hello_world():
    base = MyClass()
    base.my_method()
    return "<p>Hello, World!</p>"

补充说明

如果仅需要让base模块输出DEBUG日志,可单独为其配置:

# 可放在主应用或base.py中
LOG = logging.getLogger(__name__)
LOG.setLevel(logging.DEBUG)
# 添加控制台处理器(确保日志能输出到终端)
handler = logging.StreamHandler()
LOG.addHandler(handler)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 19:52:04