diff options
-rw-r--r-- | meta/lib/oeqa/utils/__init__.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/meta/lib/oeqa/utils/__init__.py b/meta/lib/oeqa/utils/__init__.py index 8f706f3637..485de031a9 100644 --- a/meta/lib/oeqa/utils/__init__.py +++ b/meta/lib/oeqa/utils/__init__.py | |||
@@ -36,3 +36,33 @@ def avoid_paths_in_environ(paths): | |||
36 | 36 | ||
37 | new_path = new_path[:-1] | 37 | new_path = new_path[:-1] |
38 | return new_path | 38 | return new_path |
39 | |||
40 | def make_logger_bitbake_compatible(logger): | ||
41 | import logging | ||
42 | |||
43 | """ | ||
44 | Bitbake logger redifines debug() in order to | ||
45 | set a level within debug, this breaks compatibility | ||
46 | with vainilla logging, so we neeed to redifine debug() | ||
47 | method again also add info() method with INFO + 1 level. | ||
48 | """ | ||
49 | def _bitbake_log_debug(*args, **kwargs): | ||
50 | lvl = logging.DEBUG | ||
51 | |||
52 | if isinstance(args[0], int): | ||
53 | lvl = args[0] | ||
54 | msg = args[1] | ||
55 | args = args[2:] | ||
56 | else: | ||
57 | msg = args[0] | ||
58 | args = args[1:] | ||
59 | |||
60 | logger.log(lvl, msg, *args, **kwargs) | ||
61 | |||
62 | def _bitbake_log_info(msg, *args, **kwargs): | ||
63 | logger.log(logging.INFO + 1, msg, *args, **kwargs) | ||
64 | |||
65 | logger.debug = _bitbake_log_debug | ||
66 | logger.info = _bitbake_log_info | ||
67 | |||
68 | return logger | ||