我的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")
dict配置文件对我来说没问题,但代码似乎没有记录INFO级别的消息。我做错了什么?
答案 0 :(得分:0)
我意识到我的记录器的默认级别为WARNING
,因此无法记录INFO
条消息(级别号低于WARNING
)。所以在__name__
记录器中,我添加了'level': 'INFO'
,并且确实如此。