mirror of
https://git.yoctoproject.org/poky
synced 2026-04-17 00:32:13 +02:00
bitbake: 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) (Bitbake rev: 8ebe8a7662200fad9b88be8b08376262a61c85c4) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
ae6e0e0a51
commit
9030edf4af
@@ -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
|
||||
#
|
||||
|
||||
Reference in New Issue
Block a user