summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2017-08-31 11:30:43 +1200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-08-31 17:42:08 +0100
commitb5e3b28b7c982dd8a3991d727f25710dbf58bb80 (patch)
treee66b76f7796e60db356041fdd412c722c303a168
parentc1b00a9265fa4146b8db8b7d03a51bf2bfcf9f51 (diff)
downloadbitbake-contrib-b5e3b28b7c982dd8a3991d727f25710dbf58bb80.tar.gz
tinfoil: fix log message doubling when config_only=False
With config_only=False we launch the UI and it sets up a logger, whereas when config_only=True we don't, with the result that with True we are seeing log messages from both our logger and the one set up by the UI. Suppress our loggers with config_only=True to avoid this. Fixes [YOCTO #11275] (again). Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--lib/bb/tinfoil.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py
index cd0587e27..fd17edcc5 100644
--- a/lib/bb/tinfoil.py
+++ b/lib/bb/tinfoil.py
@@ -325,7 +325,12 @@ class Tinfoil:
if setup_logging:
# This is the *client-side* logger, nothing to do with
# logging messages from the server
+ oldhandlers = self.logger.handlers[:]
bb.msg.logger_create('BitBake', output)
+ self.localhandlers = []
+ for handler in self.logger.handlers:
+ if handler not in oldhandlers:
+ self.localhandlers.append(handler)
def __enter__(self):
return self
@@ -381,6 +386,12 @@ class Tinfoil:
cookerconfig = CookerConfiguration()
cookerconfig.setConfigParameters(config_params)
+ if not config_only:
+ # Disable local loggers because the UI module is going to set up its own
+ for handler in self.localhandlers:
+ self.logger.handlers.remove(handler)
+ self.localhandlers = []
+
self.server_connection, ui_module = setup_bitbake(config_params,
cookerconfig,
extrafeatures)