Closes #29220: Fixed regression in logging.getLevelName().

This commit is contained in:
Vinay Sajip 2017-01-11 06:57:55 +00:00
parent 231d1f3439
commit 8b866d5429
2 changed files with 13 additions and 3 deletions

View file

@ -131,9 +131,13 @@ def getLevelName(level):
Otherwise, the string "Level %s" % level is returned.
"""
# See Issues #22386 and #27937 for why it's this way
return (_levelToName.get(level) or _nameToLevel.get(level) or
"Level %s" % level)
# See Issues #22386, #27937 and #29220 for why it's this way
result = _levelToName.get(level)
if result is None:
result = _nameToLevel.get(level)
if result is None:
result = "Level %s" % level
return result
def addLevelName(level, levelName):
"""

View file

@ -309,6 +309,12 @@ def test_regression_22386(self):
self.assertEqual(logging.getLevelName('INFO'), logging.INFO)
self.assertEqual(logging.getLevelName(logging.INFO), 'INFO')
def test_regression_29220(self):
"""See issue #29220 for more information."""
logging.addLevelName(logging.INFO, '')
self.addCleanup(logging.addLevelName, logging.INFO, 'INFO')
self.assertEqual(logging.getLevelName(logging.INFO), '')
def test_issue27935(self):
fatal = logging.getLevelName('FATAL')
self.assertEqual(fatal, logging.FATAL)