简体   繁体   English

如何在 settings.py 中记录 INFO 日志

[英]How to log INFO logs in settings.py

I'm trying to log some info messages specifically in django settings.py.我正在尝试在 django settings.py 中专门记录一些信息消息。 I'm following the first example in the django documentation that shows a simple configuration.我正在关注 django文档中的第一个示例,该示例显示了一个简单的配置。 The only thing I changed was having the log show INFO level messages.我唯一改变的是让日志显示 INFO 级别的消息。 When I run python manage.py runserver , the log statement is never shown.当我运行python manage.py runserver时,永远不会显示日志语句。 The logs are only shown for WARNING level or above (more critical).日志仅针对警告级别或更高级别(更重要)显示。

Here is my configuration that is located in settings.py这是我的配置,位于 settings.py

import logging
...
LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'console': {
            'class': 'logging.StreamHandler',
        },
    },
    '': {
        'handlers': ['console'],
        'level': 'INFO',
        'propagate': True
    },
}
...
def do_something():
    logger.info('Doing Something')
do_something()

Note I'm trying to log statements only in my settings.py file as of right now.注意我现在只在我的 settings.py 文件中记录语句。

Try Placing a level key inside the handler尝试在处理程序中放置一个level

    'handlers': {
        'console': {
            'level': 'INFO',
            'class': 'logging.StreamHandler',
        },
    },

I just tested this on my Local Dev, My Logger looks like this [Chopped]: (Hopefully this helps!)我刚刚在我的本地开发人员上测试了这个,我的记录器看起来像这样[切碎]:(希望这会有所帮助!)

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'filters': {
        'require_debug_true': {
            '()': 'django.utils.log.RequireDebugTrue',
        },
    },
    'handlers': {
        'console': {
            'level': 'INFO',
            'filters': ['require_debug_true'],
            'class': 'logging.StreamHandler',
        },
    },
    'loggers': {
        'django': {
            'handlers': ['console'],
            'level': 'INFO',
        },
    }
}

def do():
    import logging
    logger = logging.getLogger('django')
    logger.info('TEST')

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM