diff --git a/bitbake/lib/bb/event.py b/bitbake/lib/bb/event.py index 1f3200e196..42745e241e 100644 --- a/bitbake/lib/bb/event.py +++ b/bitbake/lib/bb/event.py @@ -119,21 +119,28 @@ def print_ui_queue(): logger = logging.getLogger("BitBake") if not _uiready: from bb.msg import BBLogFormatter - console = logging.StreamHandler(sys.stdout) - console.setFormatter(BBLogFormatter("%(levelname)s: %(message)s")) - logger.handlers = [console] + stdout = logging.StreamHandler(sys.stdout) + stderr = logging.StreamHandler(sys.stderr) + formatter = BBLogFormatter("%(levelname)s: %(message)s") + stdout.setFormatter(formatter) + stderr.setFormatter(formatter) # First check to see if we have any proper messages msgprint = False for event in ui_queue: if isinstance(event, logging.LogRecord): if event.levelno > logging.DEBUG: + if event.levelno >= logging.WARNING: + logger.handlers = [stderr] + else: + logger.handlers = [stdout] logger.handle(event) msgprint = True if msgprint: return # Nope, so just print all of the messages we have (including debug messages) + logger.handlers = [stdout] for event in ui_queue: if isinstance(event, logging.LogRecord): logger.handle(event)