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 | ||
