diff options
author | Chris Larson <chris_larson@mentor.com> | 2011-01-10 09:20:50 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-01-10 22:09:11 +0000 |
commit | 810e139fd3626acdf23372426526bceb7ccb1abf (patch) | |
tree | d899760cf06b5acdc68cce509e08e09d8c0874d7 | |
parent | 48e567bb477ad468dcfbab0d97019a6a85520ede (diff) | |
download | openembedded-core-810e139fd3626acdf23372426526bceb7ccb1abf.tar.gz openembedded-core-810e139fd3626acdf23372426526bceb7ccb1abf.tar.bz2 openembedded-core-810e139fd3626acdf23372426526bceb7ccb1abf.tar.xz openembedded-core-810e139fd3626acdf23372426526bceb7ccb1abf.zip |
Inject taskpid into log records via our log handler
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>
-rw-r--r-- | bitbake/lib/bb/__init__.py | 8 | ||||
-rw-r--r-- | bitbake/lib/bb/event.py | 4 |
2 files changed, 4 insertions, 8 deletions
diff --git a/bitbake/lib/bb/__init__.py b/bitbake/lib/bb/__init__.py index e1ddbd53f..de8100c0c 100644 --- a/bitbake/lib/bb/__init__.py +++ b/bitbake/lib/bb/__init__.py @@ -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) diff --git a/bitbake/lib/bb/event.py b/bitbake/lib/bb/event.py index 450d91363..bd2042a99 100644 --- a/bitbake/lib/bb/event.py +++ b/bitbake/lib/bb/event.py @@ -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 |