.. 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)
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):
"""
('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):