diff options
author | Ed Bartosh <ed.bartosh@linux.intel.com> | 2016-09-08 14:02:33 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-09-15 12:15:07 +0100 |
commit | d649c64bebb0ae756ac65068f5b64262bcfffdd2 (patch) | |
tree | 43b8822eaa1ef87570e3bd355d19389c989d79cf | |
parent | 62c45ffbc7c239b6d50931a0fc46f9a67635b1b1 (diff) | |
download | poky-d649c64bebb0ae756ac65068f5b64262bcfffdd2.tar.gz |
bitbake: event.py: output errors and warnings to stderr
All logging messages are printed on stdout when processing
UI event queue. This makes it impossible to distinguish between
errors and normal bitbake output. Output to stderror or stdout
depending on log level should fix this.
(Bitbake rev: 56ac0d4c7a5f47aeb707b15a0c305d9f73aae945)
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | bitbake/lib/bb/event.py | 13 |
1 files changed, 10 insertions, 3 deletions
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(): | |||
119 | logger = logging.getLogger("BitBake") | 119 | logger = logging.getLogger("BitBake") |
120 | if not _uiready: | 120 | if not _uiready: |
121 | from bb.msg import BBLogFormatter | 121 | from bb.msg import BBLogFormatter |
122 | console = logging.StreamHandler(sys.stdout) | 122 | stdout = logging.StreamHandler(sys.stdout) |
123 | console.setFormatter(BBLogFormatter("%(levelname)s: %(message)s")) | 123 | stderr = logging.StreamHandler(sys.stderr) |
124 | logger.handlers = [console] | 124 | formatter = BBLogFormatter("%(levelname)s: %(message)s") |
125 | stdout.setFormatter(formatter) | ||
126 | stderr.setFormatter(formatter) | ||
125 | 127 | ||
126 | # First check to see if we have any proper messages | 128 | # First check to see if we have any proper messages |
127 | msgprint = False | 129 | msgprint = False |
128 | for event in ui_queue: | 130 | for event in ui_queue: |
129 | if isinstance(event, logging.LogRecord): | 131 | if isinstance(event, logging.LogRecord): |
130 | if event.levelno > logging.DEBUG: | 132 | if event.levelno > logging.DEBUG: |
133 | if event.levelno >= logging.WARNING: | ||
134 | logger.handlers = [stderr] | ||
135 | else: | ||
136 | logger.handlers = [stdout] | ||
131 | logger.handle(event) | 137 | logger.handle(event) |
132 | msgprint = True | 138 | msgprint = True |
133 | if msgprint: | 139 | if msgprint: |
134 | return | 140 | return |
135 | 141 | ||
136 | # Nope, so just print all of the messages we have (including debug messages) | 142 | # Nope, so just print all of the messages we have (including debug messages) |
143 | logger.handlers = [stdout] | ||
137 | for event in ui_queue: | 144 | for event in ui_queue: |
138 | if isinstance(event, logging.LogRecord): | 145 | if isinstance(event, logging.LogRecord): |
139 | logger.handle(event) | 146 | logger.handle(event) |