def _configure_loggers(self, config):
loggers_config = config.logging.loggers
logfile = config.logging.filename
logger_dict = copy.deepcopy(LOGGER_CONFIG_TEMPLATE)
if logfile:
# set filename on file handler
logger_dict['handlers']['file']['filename'] = logfile
logfile_dir = os.path.dirname(logfile)
if not os.path.exists(logfile_dir):
os.makedirs(logfile_dir)
self._log_file = logfile
else:
del logger_dict['handlers']['file']
# add handlers to all loggers
loggers = {}
for logger_name in loggers_config:
loggers[logger_name] = dict(handlers=list(logger_dict['handlers'].keys()))
self._all_loggers_names.append(logger_name)
logger_dict['loggers'] = loggers
# set level for all loggers
for logger_name, logging_level in loggers_config.iteritems():
log = logging.getLogger(logger_name)
level = logging._levelNames[logging_level.upper()]
log.setLevel(level)
dictconfig.dictConfig(logger_dict)
评论列表
文章目录