diff options
author | Vinay Sajip <vinay_sajip@yahoo.co.uk> | 2013-03-29 17:59:15 (GMT) |
---|---|---|
committer | Vinay Sajip <vinay_sajip@yahoo.co.uk> | 2013-03-29 17:59:15 (GMT) |
commit | 04cc55a14c0cc5a55b573fde2194f554d1105c6a (patch) | |
tree | 962398a7f1a4de66ba57417f2d339a40fea4cac5 | |
parent | 609ef01b022b7ee22703255058e6c95100cb0ca9 (diff) | |
parent | 28421c6f6264ed33aea31a161ebd77f935437d3f (diff) | |
download | cpython-04cc55a14c0cc5a55b573fde2194f554d1105c6a.zip cpython-04cc55a14c0cc5a55b573fde2194f554d1105c6a.tar.gz cpython-04cc55a14c0cc5a55b573fde2194f554d1105c6a.tar.bz2 |
Closes #17540: Merged fix from 3.3.
-rw-r--r-- | Lib/logging/config.py | 6 | ||||
-rw-r--r-- | Lib/test/test_logging.py | 5 | ||||
-rw-r--r-- | Misc/NEWS | 2 |
3 files changed, 10 insertions, 3 deletions
diff --git a/Lib/logging/config.py b/Lib/logging/config.py index b0c0971..dbfd2c6 100644 --- a/Lib/logging/config.py +++ b/Lib/logging/config.py @@ -672,7 +672,8 @@ class DictConfigurator(BaseConfigurator): else: fmt = config.get('format', None) dfmt = config.get('datefmt', None) - result = logging.Formatter(fmt, dfmt) + style = config.get('style', '%') + result = logging.Formatter(fmt, dfmt, style) return result def configure_filter(self, config): @@ -694,6 +695,7 @@ class DictConfigurator(BaseConfigurator): def configure_handler(self, config): """Configure a handler from a dictionary.""" + config_copy = dict(config) # for restoring in case of error formatter = config.pop('formatter', None) if formatter: try: @@ -717,7 +719,7 @@ class DictConfigurator(BaseConfigurator): try: th = self.config['handlers'][config['target']] if not isinstance(th, logging.Handler): - config['class'] = cname # restore for deferred configuration + config.update(config_copy) # restore for deferred cfg raise TypeError('target not configured yet') config['target'] = th except Exception as e: diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py index 11e812d..fea2b00 100644 --- a/Lib/test/test_logging.py +++ b/Lib/test/test_logging.py @@ -2449,7 +2449,8 @@ class ConfigDictTest(BaseTest): "version": 1, "formatters": { "mySimpleFormatter": { - "format": "%(asctime)s (%(name)s) %(levelname)s: %(message)s" + "format": "%(asctime)s (%(name)s) %(levelname)s: %(message)s", + "style": "$" } }, "handlers": { @@ -2851,6 +2852,8 @@ class ConfigDictTest(BaseTest): self.apply_config(self.out_of_order) handler = logging.getLogger('mymodule').handlers[0] self.assertIsInstance(handler.target, logging.Handler) + self.assertIsInstance(handler.formatter._style, + logging.StringTemplateStyle) def test_baseconfig(self): d = { @@ -297,6 +297,8 @@ Core and Builtins Library ------- +- Issue #17540: Added style to formatter configuration by dict. + - Issue #16692: The ssl module now supports TLS 1.1 and TLS 1.2. Initial patch by Michele OrrĂ¹. |