diff options
-rw-r--r-- | lib/bb/msg.py | 7 | ||||
-rw-r--r-- | lib/bb/ui/knotty.py | 5 |
2 files changed, 10 insertions, 2 deletions
diff --git a/lib/bb/msg.py b/lib/bb/msg.py index 90b158238..f1723be79 100644 --- a/lib/bb/msg.py +++ b/lib/bb/msg.py @@ -216,3 +216,10 @@ def logger_create(name, output=sys.stderr, level=logging.INFO, preserve_handlers logger.handlers = [console] logger.setLevel(level) return logger + +def has_console_handler(logger): + for handler in logger.handlers: + if isinstance(handler, logging.StreamHandler): + if handler.stream in [sys.stderr, sys.stdout]: + return True + return False diff --git a/lib/bb/ui/knotty.py b/lib/bb/ui/knotty.py index 82aa7c464..a19c3b3ba 100644 --- a/lib/bb/ui/knotty.py +++ b/lib/bb/ui/knotty.py @@ -365,8 +365,9 @@ def main(server, eventHandler, params, tf = TerminalFilter): bb.msg.addDefaultlogFilter(errconsole, bb.msg.BBLogFilterStdErr) console.setFormatter(format) errconsole.setFormatter(format) - logger.addHandler(console) - logger.addHandler(errconsole) + if not bb.msg.has_console_handler(logger): + logger.addHandler(console) + logger.addHandler(errconsole) bb.utils.set_process_name("KnottyUI") |