From f59811aeeb1fe7048c177c9ff0268bfc1a521b96 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Thu, 14 Oct 2021 17:33:18 +0100 Subject: oe/utils: log exceptions in ThreadedWorker functions If the function a ThreadedWorker is executing raises an exception, don't use print() as that mostly disappears. Instead, output it to the logger. This is done using bb.mainlogger.debug directly instead of bb.debug() as this allows us to pass the exception instance directly, which is then incorporated into the log stream. (From OE-Core rev: 2f1ea25c222b344dd8b784b2bc73a6540ab30274) Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/lib/oe/utils.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'meta/lib/oe/utils.py') diff --git a/meta/lib/oe/utils.py b/meta/lib/oe/utils.py index 238af314d1..cf65639647 100644 --- a/meta/lib/oe/utils.py +++ b/meta/lib/oe/utils.py @@ -508,7 +508,8 @@ class ThreadedWorker(Thread): try: func(self, *args, **kargs) except Exception as e: - print(e) + # Eat all exceptions + bb.mainlogger.debug("Worker task raised %s" % e, exc_info=e) finally: self.tasks.task_done() -- cgit v1.2.3-54-g00ecf