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