summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVinay Sajip <vinay_sajip@yahoo.co.uk>2011-07-25 18:58:13 (GMT)
committerVinay Sajip <vinay_sajip@yahoo.co.uk>2011-07-25 18:58:13 (GMT)
commit8188f585b2c1d21c1b680181f38b45c4234c6865 (patch)
tree3ad6f3614671345e49338bbe8d36706cb5e52ef8
parentacd9f7ce32b9d6cf819c99ee7728f9263f2bae47 (diff)
parent45dedaafc2d8f83c3021df28251a4a7dae067774 (diff)
downloadcpython-8188f585b2c1d21c1b680181f38b45c4234c6865.zip
cpython-8188f585b2c1d21c1b680181f38b45c4234c6865.tar.gz
cpython-8188f585b2c1d21c1b680181f38b45c4234c6865.tar.bz2
Fixes #12637: Merged fix from 3.2 and added test.
-rw-r--r--Lib/logging/__init__.py3
-rw-r--r--Lib/test/test_logging.py2
2 files changed, 4 insertions, 1 deletions
diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py
index 509dae6..7efbc45 100644
--- a/Lib/logging/__init__.py
+++ b/Lib/logging/__init__.py
@@ -1442,7 +1442,8 @@ class Logger(Filterer):
c = c.parent
if (found == 0):
if lastResort:
- lastResort.handle(record)
+ if record.levelno >= lastResort.level:
+ lastResort.handle(record)
elif raiseExceptions and not self.manager.emittedNoHandlerWarning:
sys.stderr.write("No handlers could be found for logger"
" \"%s\"\n" % self.name)
diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py
index 5d84114..793d29b 100644
--- a/Lib/test/test_logging.py
+++ b/Lib/test/test_logging.py
@@ -2923,6 +2923,8 @@ class LastResortTest(BaseTest):
old_raise_exceptions = logging.raiseExceptions
try:
sys.stderr = sio = io.StringIO()
+ root.debug('This should not appear')
+ self.assertEqual(sio.getvalue(), '')
root.warning('This is your final chance!')
self.assertEqual(sio.getvalue(), 'This is your final chance!\n')
#No handlers and no last resort, so 'No handlers' message