Skip to content

Commit 5abca70

Browse files
committed
Issue #23207: logging.basicConfig() now does additional validation of its arguments.
1 parent 71e7296 commit 5abca70

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

Lib/logging/__init__.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1723,7 +1723,7 @@ def basicConfig(**kwargs):
17231723
_acquireLock()
17241724
try:
17251725
if len(root.handlers) == 0:
1726-
handlers = kwargs.get("handlers")
1726+
handlers = kwargs.pop("handlers", None)
17271727
if handlers is None:
17281728
if "stream" in kwargs and "filename" in kwargs:
17291729
raise ValueError("'stream' and 'filename' should not be "
@@ -1733,28 +1733,31 @@ def basicConfig(**kwargs):
17331733
raise ValueError("'stream' or 'filename' should not be "
17341734
"specified together with 'handlers'")
17351735
if handlers is None:
1736-
filename = kwargs.get("filename")
1736+
filename = kwargs.pop("filename", None)
17371737
if filename:
1738-
mode = kwargs.get("filemode", 'a')
1738+
mode = kwargs.pop("filemode", 'a')
17391739
h = FileHandler(filename, mode)
17401740
else:
1741-
stream = kwargs.get("stream")
1741+
stream = kwargs.pop("stream", None)
17421742
h = StreamHandler(stream)
17431743
handlers = [h]
1744-
dfs = kwargs.get("datefmt", None)
1745-
style = kwargs.get("style", '%')
1744+
dfs = kwargs.pop("datefmt", None)
1745+
style = kwargs.pop("style", '%')
17461746
if style not in _STYLES:
17471747
raise ValueError('Style must be one of: %s' % ','.join(
17481748
_STYLES.keys()))
1749-
fs = kwargs.get("format", _STYLES[style][1])
1749+
fs = kwargs.pop("format", _STYLES[style][1])
17501750
fmt = Formatter(fs, dfs, style)
17511751
for h in handlers:
17521752
if h.formatter is None:
17531753
h.setFormatter(fmt)
17541754
root.addHandler(h)
1755-
level = kwargs.get("level")
1755+
level = kwargs.pop("level", None)
17561756
if level is not None:
17571757
root.setLevel(level)
1758+
if kwargs:
1759+
keys = ', '.join(kwargs.keys())
1760+
raise ValueError('Unrecognised argument(s): %s' % keys)
17581761
finally:
17591762
_releaseLock()
17601763

0 commit comments

Comments
 (0)