使用dictConfig时Python日志记录的问题
下面是我正在使用的配置字典:
LOGGING_CONF = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'verbose': {
'format': '%(levelname)s %(asctime)s %(module)s %(message)s'
},
'simple': {
'format': '%(levelname)s %(message)s'
},
},
'handler': {
'file': {
'level': 'DEBUG',
'class': 'logging.handlers.RotatingFileHandler',
'formatter': 'verbose',
'filename': 'D:\workspace\yogasync\codes\code_svn\YogaSync\log\workspacelogconfig.log',
'maxBytes': 20480,
'backupCount': 3,
},
},
'logger': {
'extensive': {
'level':'DEBUG',
'handlers': 'file'
},
},
}
在一个需要创建日志的模块中,我插入了以下代码:
import logging
import logging.config
logging.config.dictConfig(LOGGING_CONF)
logger = logging.getLogger('extensive')
logger.info("This is my first log")
当我执行这个时,没有出现错误,但也没有生成任何日志。我不确定缺少了什么。我只想使用dictConfig。请帮我解决这个问题。
1 个回答
2
你需要添加一个处理程序,这样所有的日志记录器才能有反应。举个例子,
logfile = logging.handlers.FileHandler("mylog.log")
logfile.setLevel(logging.DEBUG)
logfile.setFormatter(logging.Formatter('%(asctime)s %(levelname)-8s %(module)s: %(message)s'))
logging.getLogger('').addHandler(logfile)