Fix logfilter bugs
This commit is contained in:
parent
1dbd84b963
commit
03d754dd86
@ -79,17 +79,17 @@ class LogFilterTests(TestCase):
|
||||
self.assertTrue(logfilter.filter(record))
|
||||
|
||||
def test_debug(self):
|
||||
"""Test if debug messages are never filtered."""
|
||||
"""Test if messages more important than debug are never filtered."""
|
||||
logfilter = log.LogFilter(["eggs"])
|
||||
# First check if the filter works as intended with non-debug messages
|
||||
record = self._make_record("eggs", level=logging.INFO)
|
||||
self.assertTrue(logfilter.filter(record))
|
||||
record = self._make_record("bacon", level=logging.INFO)
|
||||
self.assertFalse(logfilter.filter(record))
|
||||
# Then check if debug is not filtered
|
||||
# First check if the filter works as intended with debug messages
|
||||
record = self._make_record("eggs", level=logging.DEBUG)
|
||||
self.assertTrue(logfilter.filter(record))
|
||||
record = self._make_record("bacon", level=logging.DEBUG)
|
||||
self.assertFalse(logfilter.filter(record))
|
||||
# Then check if info is not filtered
|
||||
record = self._make_record("eggs", level=logging.INFO)
|
||||
self.assertTrue(logfilter.filter(record))
|
||||
record = self._make_record("bacon", level=logging.INFO)
|
||||
self.assertTrue(logfilter.filter(record))
|
||||
|
||||
|
||||
|
@ -83,7 +83,7 @@ def init_log(args):
|
||||
|
||||
console, ram = _init_handlers(numeric_level, args.color)
|
||||
if args.logfilter is not None and numeric_level <= logging.DEBUG:
|
||||
console.addFilter(args.logfilter.split(','))
|
||||
console.addFilter(LogFilter(args.logfilter.split(',')))
|
||||
root = getLogger()
|
||||
root.addHandler(console)
|
||||
root.addHandler(ram)
|
||||
@ -216,8 +216,8 @@ class LogFilter(logging.Filter):
|
||||
"""Determine if the specified record is to be logged."""
|
||||
if self.names is None:
|
||||
return True
|
||||
if record.levelno <= logging.DEBUG:
|
||||
# DEBUG or more important, so we won't filter at all
|
||||
if record.levelno > logging.DEBUG:
|
||||
# More important than DEBUG, so we won't filter at all
|
||||
return True
|
||||
for name in self.names:
|
||||
if record.name == name:
|
||||
|
Loading…
Reference in New Issue
Block a user