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

Django中如何移除channels包的INFO级日志?

解决Django Channels 3.x重复INFO请求日志问题

我之前也踩过这个坑!你遇到的这些重复INFO日志,其实并不是来自channels根日志器,而是它的子日志器channels.management.commands.runserver——就是你日志里log_trace指向的那个模块。之前只设置根channels的级别没用,是因为这个子日志器可能有独立的配置或者继承了其他日志规则,得针对性处理。

下面给你几个可行的方案,按推荐程度排序:

方案1:在Django配置文件里规范配置日志(推荐)

直接在settings.py的LOGGING字典里,给这个子日志器单独设置级别,还能阻止它向上传播日志:

LOGGING = {
    # 保留你已有的其他配置(比如formatters、handlers)
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        # 你的格式化配置...
    },
    'handlers': {
        # 你的处理器配置...
    },
    'loggers': {
        # 其他已有日志器...
        'channels.management.commands.runserver': {
            'handlers': ['console'],  # 替换成你实际用的handler
            'level': 'ERROR',
            'propagate': False,  # 关键:阻止日志向上传递到父日志器
        },
    },
}

设置propagate=False很重要,这样这个子日志器的日志就不会被channels根日志器或者其他父级日志器再处理,彻底避免重复输出。

方案2:直接在代码中指定子日志器级别

如果不想改动全局LOGGING配置,可以在项目启动的地方(比如wsgi.py或者asgi.py)添加这段代码:

import logging
# 精准定位到产生日志的子日志器
logging.getLogger('channels.management.commands.runserver').setLevel(logging.ERROR)

这个方式更直接,专门针对那个输出请求日志的模块生效。

额外排查点

看你提供的日志里logger字段是edison,如果你的日志配置里把channels相关模块的日志归到了edison日志器,那还要检查edison日志器的级别设置,或者给它添加一个过滤器,排除掉channels.management.commands.runserver的INFO级日志:
比如在LOGGING里加过滤器:

LOGGING = {
    # 其他配置...
    'filters': {
        'exclude_channels_runserver_info': {
            '()': 'django.utils.log.CallbackFilter',
            'callback': lambda record: not (
                record.name == 'channels.management.commands.runserver' 
                and record.levelno == logging.INFO
            ),
        },
    },
    'handlers': {
        'console': {
            'class': 'logging.StreamHandler',
            'filters': ['exclude_channels_runserver_info'],
            # 其他配置...
        },
    },
}

这样就能彻底干掉那些重复的HTTP请求INFO日志了!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 17:45:38