django - 更改 Django 控制台日志级别的简洁方法

标签 django logging

我只想能够覆盖设置文件中的控制台日志级别。我读了 django logging document ,但我无法让日志按照我想要的方式进行。该文件向我保证:

“从 Django 1.5 开始,项目的日志配置与 Django 的默认值合并,因此您可以决定是否要添加或替换现有配置。要完全覆盖默认配置,请将 LOGGING dictConfig 中的 disable_existing_loggers 键设置为 True . 或者,您可以重新定义部分或全部记录器。”

所以我尝试将以下内容添加到我的 settings.py 中:

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'console':{
            'level': 'DEBUG',
        },
    },
}

...但我有一个异常(exception):
<snip>
  File "/usr/lib/python2.7/logging/config.py", line 575, in configure
    '%r: %s' % (name, e))
ValueError: Unable to configure handler 'console': 'NoneType' object has no attribute 'split'

很公平。它似乎想要整个配置块。所以我尝试了我认为最简单的控制台记录器配置:
LOGGING = {
    'version': 1,
    'disable_existing_loggers': True,
    'formatters': {
        'simple': {
            'format': '%(levelname)s %(message)s'
        },
    },
    'handlers': {
        'console':{
            'level': 'INFO',
            'class': 'logging.StreamHandler',
            'formatter': 'simple'
        },
    },
    'loggers': {
        'default': {
            'handlers': ['console'],
            'level': 'INFO',
            'filters': []
        }
    }
}

我的意图是将日志级别设置为 INFO,但我仍然看到一堆 DEBUG 消息,并且字符串 MYFORMATTER 无论如何都没有出现在其中。

最后,带着盲目的乐观,我尝试了这个:
from django.utils.log import DEFAULT_LOGGING
DEFAULT_LOGGING['handlers']['console']['level'] = 'INFO'

我一定在这里遗漏了一些很明显的东西。

顺便说一句,我正在使用 Django 1.5.1。

最佳答案

在这里回答我自己的问题,我最终在 settings.py 文件中使用了以下内容:

import logging

logging.basicConfig(
    level = logging.INFO,
    format = " %(levelname)s %(name)s: %(message)s",
)

关于django - 更改 Django 控制台日志级别的简洁方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17751614/

相关文章:

python - Django 日志记录隐藏错误

java - slf4j + log4j 显示除我的以外的所有日志

javascript - winston 的多个日志文件具有最大大小和每日轮换

Android通过蓝牙接收接收文本

Django 使用未翻译的字符串而不是翻译

django - Tweepy 速率限制/分页问题。

python - django celery 延迟函数不执行

python - Django - NoReverseMatch。我忽略了什么?

c# - 以松散耦合的方式公开 ILogger

python - 执行 Python Azure Functions 时不显示记录 DEBUG 日志