]> code.ossystems Code Review - openembedded-core.git/commitdiff
Inject taskpid into log records via our log handler
authorChris Larson <chris_larson@mentor.com>
Mon, 10 Jan 2011 16:20:50 +0000 (09:20 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 10 Jan 2011 22:09:11 +0000 (22:09 +0000)
It turns out that while log filters added with addFilter are only associated
with that logger, and not its children, handlers are inherited, and handlers
can be filters.   So, let's add filtering to our existing LogHandler class
which dispatches our log records as bitbake events.

(Bitbake rev: 0153ace246e7c88366f45c8f035a2b4505a1c115)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake/lib/bb/__init__.py
bitbake/lib/bb/event.py

index e1ddbd53ffe0bc4df49b36d3c8e26a41ea6f634f..de8100c0cbf3a3c710335b6b7c1f7017126542d6 100644 (file)
@@ -35,11 +35,6 @@ class NullHandler(logging.Handler):
     def emit(self, record):
         pass
 
-class BBLogRecord(logging.LogRecord):
-    def __init__(self, name, level, fn, lno, msg, args, exc_info, func, extra):
-        self.taskpid = bb.event.worker_pid
-        logging.LogRecord.__init__(self, name, level, fn, lno, msg, args, exc_info, func)
-
 Logger = logging.getLoggerClass()
 class BBLogger(Logger):
     def __init__(self, name):
@@ -47,9 +42,6 @@ class BBLogger(Logger):
             self.debug = self.bbdebug
         Logger.__init__(self, name)
 
-    def makeRecord(self, name, lvl, fn, lno, msg, args, exc_info, func=None, extra=None):
-        return BBLogRecord(name, lvl, fn, lno, msg, args, exc_info, func, extra)
-
     def bbdebug(self, level, msg, *args, **kwargs):
         return self.log(logging.DEBUG - level - 1, msg, *args, **kwargs)
 
index 450d9136338b10cd55f8f25f3f1b7c09e3aa6e84..bd2042a99ce26e772716f4d4f982448eedd3dbeb 100644 (file)
@@ -384,3 +384,7 @@ class LogHandler(logging.Handler):
         fire(record, None)
         if bb.event.useStdout:
             print(self.format(record))
+
+    def filter(self, record):
+        record.taskpid = worker_pid
+        return True