All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] cooker/knotty: Prefix parse logs with filename being parsed
@ 2016-04-14 13:29 Richard Purdie
  0 siblings, 0 replies; only message in thread
From: Richard Purdie @ 2016-04-14 13:29 UTC (permalink / raw)
  To: bitbake-devel

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.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index 4068b8f..9b565fc 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 dff92bc..2fc20cf 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
 




^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2016-04-14 13:29 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-14 13:29 [PATCH] cooker/knotty: Prefix parse logs with filename being parsed Richard Purdie

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.