Fixes #12637: Merged fix from 3.2 and added test.

This commit is contained in:
Vinay Sajip 2011-07-25 19:58:13 +01:00
commit 8188f585b2
2 changed files with 4 additions and 1 deletions

View File

@ -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)

View File

@ -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