Closes #22386: merged fix from 3.4.

This commit is contained in:
Vinay Sajip 2014-09-11 23:08:48 +01:00
commit a56411e5d4
3 changed files with 8 additions and 3 deletions

View File

@ -1052,8 +1052,8 @@ functions.
.. versionchanged:: 3.4
In Python versions earlier than 3.4, this function could also be passed a
text level, and would return the corresponding numeric value of the level.
This undocumented behaviour was a mistake, and has been removed in Python
3.4.
This undocumented behaviour was considered a mistake, and was removed in
Python 3.4, but reinstated in 3.4.2 due to retain backward compatibility.
.. function:: makeLogRecord(attrdict)

View File

@ -129,7 +129,8 @@ def getLevelName(level):
Otherwise, the string "Level %s" % level is returned.
"""
return _levelToName.get(level, ("Level %s" % level))
# See Issue #22386 for the reason for this convoluted expression
return _levelToName.get(level, _nameToLevel.get(level, ("Level %s" % level)))
def addLevelName(level, levelName):
"""

View File

@ -307,6 +307,10 @@ class BuiltinLevelsTest(BaseTest):
('INF.BADPARENT', 'INFO', '4'),
])
def test_regression_22386(self):
"""See issue #22386 for more information."""
self.assertEqual(logging.getLevelName('INFO'), logging.INFO)
self.assertEqual(logging.getLevelName(logging.INFO), 'INFO')
class BasicFilterTest(BaseTest):