From: Richard Purdie Date: Thu, 14 Apr 2016 13:29:27 +0000 (+0100) Subject: bitbake: cooker/knotty: Prefix parse logs with filename being parsed X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8e7282c0320c95cacf14aee450c950f0a10b7999;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git bitbake: cooker/knotty: Prefix parse logs with filename being parsed We now prefix log messages coming from worker task context with the PF and task info, however parsing messages all have to be manually prefixed which is ugly and error prone. This change modifies the log handler filter so this happens automatically, meaning we don't have to change every message to include that information. This makes error messages longer but more usable. (Bitbake rev: 1af0ccaac81e182c4ca520037dda362d180e5605) Signed-off-by: Richard Purdie --- diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py index 4068b8f9b3a..9b565fc37df 100644 --- a/bitbake/lib/bb/cooker.py +++ b/bitbake/lib/bb/cooker.py @@ -1970,9 +1970,17 @@ class Parser(multiprocessing.Process): def parse(self, filename, appends, caches_array): try: + # Record the filename we're parsing into any events generated + def parse_filter(self, record): + record.taskpid = bb.event.worker_pid + record.fn = filename + return True + # Reset our environment and handlers to the original settings bb.utils.set_context(self.context.copy()) bb.event.set_class_handlers(self.handlers.copy()) + bb.event.LogHandler.filter = parse_filter + return True, bb.cache.Cache.parse(filename, appends, self.cfg, caches_array) except Exception as exc: tb = sys.exc_info()[2] diff --git a/bitbake/lib/bb/ui/knotty.py b/bitbake/lib/bb/ui/knotty.py index dff92bce913..2fc20cfb532 100644 --- a/bitbake/lib/bb/ui/knotty.py +++ b/bitbake/lib/bb/ui/knotty.py @@ -371,7 +371,8 @@ def main(server, eventHandler, params, tf = TerminalFilter): if event.taskpid in helper.running_tasks: taskinfo = helper.running_tasks[event.taskpid] event.msg = taskinfo['title'] + ': ' + event.msg - + if hasattr(event, 'fn'): + event.msg = event.fn + ': ' + event.msg logger.handle(event) continue