diff options
author | Joshua Watt <JPEWhacker@gmail.com> | 2020-03-09 11:33:44 -0500 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-03-12 23:02:04 +0000 |
commit | 8ebe8a7662200fad9b88be8b08376262a61c85c4 (patch) | |
tree | c6cc253a06956e56f3b940d0830567782c60d4a0 /lib/bb/msg.py | |
parent | 30461310915f911b80f92e03df694af7c1eb1f46 (diff) | |
download | bitbake-8ebe8a7662200fad9b88be8b08376262a61c85c4.tar.gz |
lib/bb/msg: Add filter utilities
Adds generic filter utilities that can be used to filter when the log
level is greater than or equal to a defined value, or below a defined
value, as well as a generic function to translate a string to a logging
level (or bitbake logging level)
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'lib/bb/msg.py')
-rw-r--r-- | lib/bb/msg.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/lib/bb/msg.py b/lib/bb/msg.py index c70fd8080..8561826a6 100644 --- a/lib/bb/msg.py +++ b/lib/bb/msg.py @@ -135,6 +135,28 @@ class BBLogFilterStdOut(BBLogFilter): return True return False +class LogFilterGEQLevel(logging.Filter): + def __init__(self, level): + self.strlevel = str(level) + self.level = stringToLevel(level) + + def __repr__(self): + return "%s level >= %s (%d)" % (self.__class__.__name__, self.strlevel, self.level) + + def filter(self, record): + return (record.levelno >= self.level) + +class LogFilterLTLevel(logging.Filter): + def __init__(self, level): + self.strlevel = str(level) + self.level = stringToLevel(level) + + def __repr__(self): + return "%s level < %s (%d)" % (self.__class__.__name__, self.strlevel, self.level) + + def filter(self, record): + return (record.levelno < self.level) + # Message control functions # @@ -175,6 +197,19 @@ def addDefaultlogFilter(handler, cls = BBLogFilter, forcelevel=None): cls(handler, level, debug_domains) +def stringToLevel(level): + try: + return int(level) + except ValueError: + pass + + try: + return getattr(logging, level) + except AttributeError: + pass + + return getattr(BBLogFormatter, level) + # # Message handling functions # |