Create and return formatters
(cp)
| 109 | return map(str.strip, alist) |
| 110 | |
| 111 | def _create_formatters(cp): |
| 112 | """Create and return formatters""" |
| 113 | flist = cp["formatters"]["keys"] |
| 114 | if not len(flist): |
| 115 | return {} |
| 116 | flist = flist.split(",") |
| 117 | flist = _strip_spaces(flist) |
| 118 | formatters = {} |
| 119 | for form in flist: |
| 120 | sectname = "formatter_%s" % form |
| 121 | fs = cp.get(sectname, "format", raw=True, fallback=None) |
| 122 | dfs = cp.get(sectname, "datefmt", raw=True, fallback=None) |
| 123 | stl = cp.get(sectname, "style", raw=True, fallback='%') |
| 124 | defaults = cp.get(sectname, "defaults", raw=True, fallback=None) |
| 125 | |
| 126 | c = logging.Formatter |
| 127 | class_name = cp[sectname].get("class") |
| 128 | if class_name: |
| 129 | c = _resolve(class_name) |
| 130 | |
| 131 | if defaults is not None: |
| 132 | defaults = eval(defaults, vars(logging)) |
| 133 | f = c(fs, dfs, stl, defaults=defaults) |
| 134 | else: |
| 135 | f = c(fs, dfs, stl) |
| 136 | formatters[form] = f |
| 137 | return formatters |
| 138 | |
| 139 | |
| 140 | def _install_handlers(cp, formatters): |
no test coverage detected
searching dependent graphs…