Django:在settings.py中使用日志记录

时间:2018-07-15 18:58:19

标签: python django logging

我成功设置了Django日志记录,但是我发现自己需要在settings.py内记录一些信息。有可能吗?

当前,这些设置仅在解析整个文件后才生效,我相信这是可以预期的。在指定记录器之后,是否有办法强制设置记录器?否则,人们有其他建议吗?

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'console': {
            'format': '%(levelname)s: %(message)s'
        },
    },
    'handlers': {
        'console': {
            'level': 'DEBUG',
            'class': 'logging.StreamHandler',
            'formatter': 'console'
        }
    },
    'loggers': {
        'main': {
            'handlers': ['console'],
            'level': 'INFO',
            'propagate': False,
        },
    },
}

# The below does not work because the setup declared above is not yet in effect

logger = logging.getLogger('main')
logger.info("Works?")

1 个答案:

答案 0 :(得分:0)

回答我自己的问题,但会接受其他可能更完整的答案

添加以下内容,将根据需要加载LOGGING。不知道有什么副作用。

import logging.config
logging.config.dictConfig(LOGGING)