]> granicus.if.org Git - python/commitdiff
Closes #21203: Updated fileConfig and dictConfig to remove inconsistencies. Thanks...
authorVinay Sajip <vinay_sajip@yahoo.co.uk>
Tue, 15 Apr 2014 13:24:53 +0000 (14:24 +0100)
committerVinay Sajip <vinay_sajip@yahoo.co.uk>
Tue, 15 Apr 2014 13:24:53 +0000 (14:24 +0100)
Lib/logging/config.py
Misc/NEWS

index 895fb263c0287466e056793cde301f9a2e84cab4..8a99923bf31ef9990bb2b89bd80ade1aa96e835d 100644 (file)
@@ -116,11 +116,12 @@ def _create_formatters(cp):
         sectname = "formatter_%s" % form
         fs = cp.get(sectname, "format", raw=True, fallback=None)
         dfs = cp.get(sectname, "datefmt", raw=True, fallback=None)
+        stl = cp.get(sectname, "style", raw=True, fallback='%')
         c = logging.Formatter
         class_name = cp[sectname].get("class")
         if class_name:
             c = _resolve(class_name)
-        f = c(fs, dfs)
+        f = c(fs, dfs, stl)
         formatters[form] = f
     return formatters
 
@@ -660,7 +661,12 @@ class DictConfigurator(BaseConfigurator):
             fmt = config.get('format', None)
             dfmt = config.get('datefmt', None)
             style = config.get('style', '%')
-            result = logging.Formatter(fmt, dfmt, style)
+            cname = config.get('class', None)
+            if not cname:
+                c = logging.Formatter
+            else:
+                c = _resolve(cname)
+            result = c(fmt, dfmt, style)
         return result
 
     def configure_filter(self, config):
index c45328d4159dd80c59b89b53ae6d9615c2437e45..da77694ade37aa38d677e9976dbc8738b8326ff2 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -46,6 +46,9 @@ Core and Builtins
 Library
 -------
 
+- Issue #21203: Updated fileConfig and dictConfig to remove inconsistencies.
+  Thanks to Jure Koren for the patch.
+
 - Issue #21197: Add lib64 -> lib symlink in venvs on 64-bit non-OS X POSIX.
 
 - Issue #17498: Some SMTP servers disconnect after certain errors, violating