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

Django日志无法写入错误信息至django.log文件求助

Django日志无法写入django.log问题解决

问题核心:你在views中创建的logger = logging.getLogger(__name__)属于自定义模块logger,而当前settings.py仅配置了django根logger,两者未关联,导致ERROR日志无法写入文件。

解决步骤

1. 配置自定义模块logger

在settings.py的LOGGING['loggers']中添加对应你app的logger配置:

LOGGING = {
    # 保留原有formatters、handlers配置...
    'loggers': {
        'django': {
            'handlers': ['file', 'console'],
            'level': 'ERROR',
            'propagate': True,
        },
        # 替换成你的views所在app名称,比如app名为myapp
        'myapp': {
            'handlers': ['file', 'console'],
            'level': 'ERROR',
            'propagate': False,
        },
    },
}

如果想让所有自定义logger都生效,也可以配置根logger(用空字符串''):

'loggers': {
    'django': {
        'handlers': ['file', 'console'],
        'level': 'ERROR',
        'propagate': True,
    },
    '': {
        'handlers': ['file', 'console'],
        'level': 'ERROR',
        'propagate': False,
    },
}

2. 确认日志级别配置

确保handler和logger的level均设置为ERROR或更低级别(如WARNING),当前你的配置已经满足要求:

  • handler的level是过滤日志的最低门槛,只有≥该级别的日志会被处理
  • logger的level是生成日志的最低门槛,只有≥该级别的日志会被传递给handler

3. 忽略PyCharm格式提示

PyCharm对部分日志格式变量的识别存在误报,你使用的%(levelname)s %(asctime)s等都是Python logging的合法格式,不影响实际运行,可直接忽略该提示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 13:10:25