【问题标题】:Django.server logging configuration not working in Django DaphneDjango.server 日志配置在 Django Daphne 中不起作用
【发布时间】:2021-04-21 19:46:08
【问题描述】:

我想提高日志记录级别,以减少所有 2XX 响应的日志中的垃圾邮件。根据 Django 文档和其他 SO 问题,我已将settings.py 中的django.server 记录器级别更改为WARNING。不幸的是,当我使用 daphne 运行我的服务器时,此更改不起作用。为了验证,我使用manage.py runserver 运行我的应用程序,并且配置工作正常。

我还尝试更改logging.root.manager.loggerDict 中所有记录器的日志级别(使用settings.py 中的LOGGING = {}),但也未成功。

任何人都知道如何确定哪个记录器在 daphne 中记录如下所示的消息,或者假设它按我预期的方式工作,如何强制 daphne 尊重 django.server 日志?

我正在谈论的示例日志消息:

127.0.0.1:33724 - - [21/Apr/2021:21:45:13] "GET /api/foo/bar" 200 455

【问题讨论】:

    标签: python django daphne


    【解决方案1】:

    我自己找到了答案。如果有人遇到同样的问题:

    在深入研究 Daphne 源代码之后,它现在看起来没有使用标准的 logging 库,而是依赖于将所有访问日志消息写入 stdout 或给定文件的自己的类。我看不到提高日志级别的可能性。

    详情请咨询https://github.com/django/daphne/blob/main/daphne/access.py

    【讨论】:

    • 您是否尝试使用basicConfig 设置日志级别?喜欢:logging.basicConfig(level=logging.INFO, format='%(message)s')
    • 我做了,但我在回答中提到的文件似乎没有考虑任何类型的日志级别。
    【解决方案2】:

    将详细程度设置为 0 即可完成

    daphne -v 0 xxx.asgi:application
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-05
      • 2020-10-28
      • 2016-09-28
      • 2016-03-31
      • 1970-01-01
      • 2019-04-17
      • 2020-09-14
      • 2011-07-12
      相关资源
      最近更新 更多