diff options
| author | Joshua Watt <JPEWhacker@gmail.com> | 2020-03-09 11:33:44 -0500 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-03-13 11:29:23 +0000 |
| commit | 9030edf4af3bb0e8502060bb15e6ca16fbadfe65 (patch) | |
| tree | 2ec22d1ab1d542d96d525be9b3aac487df20e492 | |
| parent | ae6e0e0a5101a3523a355f8f7fa3c002842a33e7 (diff) | |
| download | poky-9030edf4af3bb0e8502060bb15e6ca16fbadfe65.tar.gz | |
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>
| -rw-r--r-- | bitbake/lib/bb/msg.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/bitbake/lib/bb/msg.py b/bitbake/lib/bb/msg.py index c70fd80806..8561826a6e 100644 --- a/bitbake/lib/bb/msg.py +++ b/bitbake/lib/bb/msg.py | |||
| @@ -135,6 +135,28 @@ class BBLogFilterStdOut(BBLogFilter): | |||
| 135 | return True | 135 | return True |
| 136 | return False | 136 | return False |
| 137 | 137 | ||
| 138 | class LogFilterGEQLevel(logging.Filter): | ||
| 139 | def __init__(self, level): | ||
| 140 | self.strlevel = str(level) | ||
| 141 | self.level = stringToLevel(level) | ||
| 142 | |||
| 143 | def __repr__(self): | ||
| 144 | return "%s level >= %s (%d)" % (self.__class__.__name__, self.strlevel, self.level) | ||
| 145 | |||
| 146 | def filter(self, record): | ||
| 147 | return (record.levelno >= self.level) | ||
| 148 | |||
| 149 | class LogFilterLTLevel(logging.Filter): | ||
| 150 | def __init__(self, level): | ||
| 151 | self.strlevel = str(level) | ||
| 152 | self.level = stringToLevel(level) | ||
| 153 | |||
| 154 | def __repr__(self): | ||
| 155 | return "%s level < %s (%d)" % (self.__class__.__name__, self.strlevel, self.level) | ||
| 156 | |||
| 157 | def filter(self, record): | ||
| 158 | return (record.levelno < self.level) | ||
| 159 | |||
| 138 | # Message control functions | 160 | # Message control functions |
| 139 | # | 161 | # |
| 140 | 162 | ||
| @@ -175,6 +197,19 @@ def addDefaultlogFilter(handler, cls = BBLogFilter, forcelevel=None): | |||
| 175 | 197 | ||
| 176 | cls(handler, level, debug_domains) | 198 | cls(handler, level, debug_domains) |
| 177 | 199 | ||
| 200 | def stringToLevel(level): | ||
| 201 | try: | ||
| 202 | return int(level) | ||
| 203 | except ValueError: | ||
| 204 | pass | ||
| 205 | |||
| 206 | try: | ||
| 207 | return getattr(logging, level) | ||
| 208 | except AttributeError: | ||
| 209 | pass | ||
| 210 | |||
| 211 | return getattr(BBLogFormatter, level) | ||
| 212 | |||
| 178 | # | 213 | # |
| 179 | # Message handling functions | 214 | # Message handling functions |
| 180 | # | 215 | # |
