get_logger now separates different log_levels
This commit is contained in:
parent
cc638e7ed5
commit
9c3f4a17cf
@ -396,41 +396,41 @@ def get_logger(conf, name=None, log_to_console=False, log_route=None):
|
||||
:param name: Name of the logger
|
||||
:param log_to_console: Add handler which writes to console on stderr
|
||||
"""
|
||||
if not conf:
|
||||
conf = {}
|
||||
if not hasattr(get_logger, 'root_logger_configured'):
|
||||
get_logger.root_logger_configured = True
|
||||
get_logger(conf, name, log_to_console, log_route='root')
|
||||
if name is None:
|
||||
name = conf.get('log_name', 'swift') if conf else 'swift'
|
||||
name = conf.get('log_name', 'swift')
|
||||
if not log_route:
|
||||
log_route = name
|
||||
if log_route == 'root':
|
||||
logger = logging.getLogger()
|
||||
else:
|
||||
logger = logging.getLogger(log_route)
|
||||
if hasattr(get_logger, 'handler') and get_logger.handler:
|
||||
logger.removeHandler(get_logger.handler)
|
||||
get_logger.handler.close()
|
||||
get_logger.handler = None
|
||||
if not hasattr(get_logger, 'handlers'):
|
||||
get_logger.handlers = {}
|
||||
facility = getattr(SysLogHandler, conf.get('log_facility', 'LOG_LOCAL0'),
|
||||
SysLogHandler.LOG_LOCAL0)
|
||||
if facility in get_logger.handlers:
|
||||
logger.removeHandler(get_logger.handlers[facility])
|
||||
get_logger.handlers[facility].close()
|
||||
del get_logger.handlers[facility]
|
||||
if log_to_console:
|
||||
# check if a previous call to get_logger already added a console logger
|
||||
if hasattr(get_logger, 'console') and get_logger.console:
|
||||
logger.removeHandler(get_logger.console)
|
||||
get_logger.console = logging.StreamHandler(sys.__stderr__)
|
||||
logger.addHandler(get_logger.console)
|
||||
if conf is None:
|
||||
logger.setLevel(logging.INFO)
|
||||
adapted_logger = LogAdapter(logger)
|
||||
return adapted_logger
|
||||
get_logger.handler = SysLogHandler(address='/dev/log',
|
||||
facility=getattr(SysLogHandler,
|
||||
conf.get('log_facility', 'LOG_LOCAL0'),
|
||||
SysLogHandler.LOG_LOCAL0))
|
||||
logger.addHandler(get_logger.handler)
|
||||
get_logger.handlers[facility] = \
|
||||
SysLogHandler(address='/dev/log', facility=facility)
|
||||
logger.addHandler(get_logger.handlers[facility])
|
||||
logger.setLevel(
|
||||
getattr(logging, conf.get('log_level', 'INFO').upper(), logging.INFO))
|
||||
adapted_logger = LogAdapter(logger)
|
||||
formatter = NamedFormatter(name, adapted_logger)
|
||||
get_logger.handler.setFormatter(formatter)
|
||||
get_logger.handlers[facility].setFormatter(formatter)
|
||||
if hasattr(get_logger, 'console'):
|
||||
get_logger.console.setFormatter(formatter)
|
||||
return adapted_logger
|
||||
|
Loading…
Reference in New Issue
Block a user