mirror of
https://github.com/python/cpython.git
synced 2025-12-04 00:30:19 +00:00
Closes #17540: Merged fix from 3.3.
This commit is contained in:
commit
04cc55a14c
3 changed files with 10 additions and 3 deletions
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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ù.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue