[Python-checkins] cpython (merge 3.4 -> default): Closes #23207: logging.basicConfig() now does additional validation of its

vinay.sajip python-checkins at python.org
Fri Jan 23 20:54:42 CET 2015


https://hg.python.org/cpython/rev/06ba5e776a6e
changeset: 94257:06ba5e776a6e
parent: 94255:a3a44d871d70
parent: 94256:2bc3e839a3a3
user: Vinay Sajip <vinay_sajip at yahoo.co.uk>
date: Fri Jan 23 19:54:23 2015 +0000
summary:
 Closes #23207: logging.basicConfig() now does additional validation of its arguments.
files:
 Lib/logging/__init__.py | 19 +++++++++++--------
 1 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py
--- a/Lib/logging/__init__.py
+++ b/Lib/logging/__init__.py
@@ -1723,7 +1723,7 @@
 _acquireLock()
 try:
 if len(root.handlers) == 0:
- handlers = kwargs.get("handlers")
+ handlers = kwargs.pop("handlers", None)
 if handlers is None:
 if "stream" in kwargs and "filename" in kwargs:
 raise ValueError("'stream' and 'filename' should not be "
@@ -1733,28 +1733,31 @@
 raise ValueError("'stream' or 'filename' should not be "
 "specified together with 'handlers'")
 if handlers is None:
- filename = kwargs.get("filename")
+ filename = kwargs.pop("filename", None)
 if filename:
- mode = kwargs.get("filemode", 'a')
+ mode = kwargs.pop("filemode", 'a')
 h = FileHandler(filename, mode)
 else:
- stream = kwargs.get("stream")
+ stream = kwargs.pop("stream", None)
 h = StreamHandler(stream)
 handlers = [h]
- dfs = kwargs.get("datefmt", None)
- style = kwargs.get("style", '%')
+ dfs = kwargs.pop("datefmt", None)
+ style = kwargs.pop("style", '%')
 if style not in _STYLES:
 raise ValueError('Style must be one of: %s' % ','.join(
 _STYLES.keys()))
- fs = kwargs.get("format", _STYLES[style][1])
+ fs = kwargs.pop("format", _STYLES[style][1])
 fmt = Formatter(fs, dfs, style)
 for h in handlers:
 if h.formatter is None:
 h.setFormatter(fmt)
 root.addHandler(h)
- level = kwargs.get("level")
+ level = kwargs.pop("level", None)
 if level is not None:
 root.setLevel(level)
+ if kwargs:
+ keys = ', '.join(kwargs.keys())
+ raise ValueError('Unrecognised argument(s): %s' % keys)
 finally:
 _releaseLock()
 
-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /