diff -r 273e17260d25 Lib/logging/config.py --- a/Lib/logging/config.py Thu Apr 10 09:29:39 2014 -0400 +++ b/Lib/logging/config.py Fri Apr 11 23:30:50 2014 +0200 @@ -116,11 +116,12 @@ 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 @@ 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 cname: + c = _resolve(cname) + result = c(fmt, dfmt, style) + else: + result = logging.Formatter(fmt, dfmt, style) return result def configure_filter(self, config):