summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2017-08-03 10:45:18 +0200
committerPaul Eggleton <paul.eggleton@linux.intel.com>2017-08-31 11:23:42 +1200
commitc5de0f9cee5876e78c34057ad2376f049f53c621 (patch)
treed051ae7981ffa733a9c209b32579b4afacc5bcdf
parent8a60106c6f7d586c793b965c5e9460b6016fab15 (diff)
downloadbitbake-contrib-c5de0f9cee5876e78c34057ad2376f049f53c621.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>
-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)