def _create_logger(self):
# type: () -> logging.Logger
log_level_name = self._config.get('log_level', 'INFO')
if log_level_name not in LOG_LEVEL_NAMES:
raise ValueError("invalid log level " + log_level_name)
logger = logging.Logger('navdoon') # type: ignore
logger.addHandler(logging.NullHandler())
logger.setLevel(getattr(logging, log_level_name))
if self._config.get('log_stderr'):
logger.addHandler(logging.StreamHandler(sys.stderr))
if self._config.get('log_file'):
logger.addHandler(logging.FileHandler(self._config['log_file']))
if self._config.get('log_syslog'):
syslog_address = self._config['syslog_socket'].split(':')
if len(syslog_address) < 2:
syslog_address = syslog_address[0].strip()
else:
syslog_address = tuple([syslog_address[0].strip(),
int(syslog_address[1])])
logger.addHandler(logging.handlers.SysLogHandler(syslog_address))
return logger
评论列表
文章目录