Skip to content
This repository was archived by the owner on Feb 13, 2025. It is now read-only.

Commit 924aaae

Browse files
committed
Issue python#29220: Improved fix and test.
1 parent 9da31f7 commit 924aaae

File tree

2 files changed

+16
-3
lines changed

2 files changed

+16
-3
lines changed

Lib/logging/__init__.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -129,9 +129,14 @@ def getLevelName(level):
129129
130130
Otherwise, the string "Level %s" % level is returned.
131131
"""
132-
# See Issues #22386 and #27937 for why it's this way
133-
return (_levelToName.get(level) or _nameToLevel.get(level) or
134-
"Level %s" % level)
132+
# See Issues #22386, #27937 and #29220 for why it's this way
133+
result = _levelToName.get(level)
134+
if result is not None:
135+
return result
136+
result = _nameToLevel.get(level)
137+
if result is not None:
138+
return result
139+
return "Level %s" % level
135140

136141
def addLevelName(level, levelName):
137142
"""

Lib/test/test_logging.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -308,6 +308,14 @@ def test_regression_22386(self):
308308
self.assertEqual(logging.getLevelName('INFO'), logging.INFO)
309309
self.assertEqual(logging.getLevelName(logging.INFO), 'INFO')
310310

311+
def test_regression_29220(self):
312+
"""See issue #29220 for more information."""
313+
logging.addLevelName(logging.INFO, '')
314+
self.addCleanup(logging.addLevelName, logging.INFO, 'INFO')
315+
self.assertEqual(logging.getLevelName(logging.INFO), '')
316+
self.assertEqual(logging.getLevelName(logging.NOTSET), 'NOTSET')
317+
self.assertEqual(logging.getLevelName('NOTSET'), logging.NOTSET)
318+
311319
class BasicFilterTest(BaseTest):
312320

313321
"""Test the bundled Filter class."""

0 commit comments

Comments
 (0)