简体   繁体   English

Python dictconfig不记录INFO级别的消息

[英]Python dictconfig not logging INFO level messages

I have python code that looks like this: 我有看起来像这样的python代码:

import logging
import logging.config

LOG_SETTINGS = {
    'version': 1,

    'formatters': {
        'simple': {
            'format': '%(levelname)s: %(message)s'
        },
    },

    'handlers': {
        'file_handler': {
            'class': 'logging.FileHandler',
            'filename': 'example-dict-config-log.log',
            'level': 'INFO',
            'formatter': 'simple',
     },
    'console': {
        'class': 'logging.StreamHandler',
        'formatter': 'simple',
        'level': 'ERROR'
        }
    },

    'loggers': {
        __name__: {
            'handlers': ('file_handler', 'console',)
        }
    }
}


logging.config.dictConfig(LOG_SETTINGS)

logger = logging.getLogger(__name__)


logger.error('error messages should go to stderr and file')
logger.info("info messages should go to file")

The dict configuration file looks ok to me, but code does not seem to be logging the INFO level message. dict配置文件对我来说没问题,但代码似乎未记录INFO级别的消息。 What did I do wrong? 我做错了什么?

I realized that my logger has a default level of WARNING , and thus will not be able to log INFO messages (whose level number is lower than WARNING ). 我意识到我的记录器的默认级别为WARNING ,因此将无法记录INFO消息(其级别号低于WARNING )。 so in the __name__ logger, I added 'level': 'INFO' and that did it. 因此,在__name__记录器中,我添加了'level': 'INFO' ,并且做到了。

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

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