remove_handlers

This commit is contained in:
Thomas Waldmann 2023-05-26 04:42:37 +02:00
parent c3a4568870
commit dac4609468
No known key found for this signature in database
GPG Key ID: 243ACFA951F78E01
1 changed files with 8 additions and 4 deletions

View File

@ -104,6 +104,12 @@ def _log_warning(message, category, filename, lineno, file=None, line=None):
logger.warning(msg) logger.warning(msg)
def remove_handlers(logger):
for handler in logger.handlers[:]:
handler.close()
logger.removeHandler(handler)
def setup_logging(stream=None, conf_fname=None, env_var="BORG_LOGGING_CONF", level="info", is_serve=False, json=False): def setup_logging(stream=None, conf_fname=None, env_var="BORG_LOGGING_CONF", level="info", is_serve=False, json=False):
"""setup logging module according to the arguments provided """setup logging module according to the arguments provided
@ -144,8 +150,7 @@ def setup_logging(stream=None, conf_fname=None, env_var="BORG_LOGGING_CONF", lev
handler = BorgQueueHandler(borg_serve_log_queue) if is_serve else SHandler(stream) handler = BorgQueueHandler(borg_serve_log_queue) if is_serve else SHandler(stream)
handler.setFormatter(formatter) handler.setFormatter(formatter)
logger = logging.getLogger() logger = logging.getLogger()
(h.close() for h in list(logger.handlers)) remove_handlers(logger)
logger.handlers.clear()
logger.addHandler(handler) logger.addHandler(handler)
logger.setLevel(level) logger.setLevel(level)
@ -153,8 +158,7 @@ def setup_logging(stream=None, conf_fname=None, env_var="BORG_LOGGING_CONF", lev
bop_handler = BorgQueueHandler(borg_serve_log_queue) if is_serve else SHandler(stream) bop_handler = BorgQueueHandler(borg_serve_log_queue) if is_serve else SHandler(stream)
bop_handler.setFormatter(bop_formatter) bop_handler.setFormatter(bop_formatter)
bop_logger = logging.getLogger("borg.output.progress") bop_logger = logging.getLogger("borg.output.progress")
(h.close() for h in list(bop_logger.handlers)) remove_handlers(bop_logger)
bop_logger.handlers.clear()
bop_logger.addHandler(bop_handler) bop_logger.addHandler(bop_handler)
bop_logger.setLevel("INFO") bop_logger.setLevel("INFO")
bop_logger.propagate = False bop_logger.propagate = False