Don't add more then one stderr handler

kivy_mainline_and_py3.8
Tyler Goodlet 2018-11-22 16:31:01 -05:00
parent b9a9b7a9a3
commit d102b82566
1 changed files with 13 additions and 13 deletions

View File

@ -72,21 +72,21 @@ def get_console_log(level: str = None, name: str = None) -> logging.Logger:
if level:
log.setLevel(level.upper() if not isinstance(level, int) else level)
if not any(
handler.stream == sys.stderr for handler in log.handlers
if getattr(handler, 'stream', None)
):
for handler in log.handlers:
if getattr(handler, 'stream', None) and handler.stream == sys.stderr:
break
else:
handler = logging.StreamHandler()
formatter = colorlog.ColoredFormatter(
LOG_FORMAT,
datefmt=DATE_FORMAT,
log_colors=STD_PALETTE,
secondary_log_colors=BOLD_PALETTE,
style='{',
)
handler.setFormatter(formatter)
log.addHandler(handler)
formatter = colorlog.ColoredFormatter(
LOG_FORMAT,
datefmt=DATE_FORMAT,
log_colors=STD_PALETTE,
secondary_log_colors=BOLD_PALETTE,
style='{',
)
handler.setFormatter(formatter)
log.addHandler(handler)
return log