Issue 31080: Allow logging.config.fileConfig to accept kwargs (original) (raw)

Created on 2017-07-30 17:10 by planders, last changed 2022-04-11 14:58 by admin. This issue is now closed.

Pull Requests
URL Status Linked Edit
PR 2979 merged planders,2017-08-01 23:32
Messages (6)
msg299502 - (view) Author: Preston Landers (planders) * Date: 2017-07-30 17:10
The function `logging.config.fileConfig` accepts `args` but it would be nice if it also accepted `kwargs`. A simple patch seems to do it: diff --git a/Lib/logging/config.py b/Lib/logging/config.py index d692514..4672b48 100644 --- a/Lib/logging/config.py +++ b/Lib/logging/config.py @@ -145,7 +145,9 @@ def _install_handlers(cp, formatters): klass = _resolve(klass) args = section["args"] args = eval(args, vars(logging)) - h = klass(*args) + kwargs = section.get("kwargs", '{}') + kwargs = eval(kwargs, vars(logging)) + h = klass(*args, **kwargs) if "level" in section: level = section["level"] h.setLevel(level) Unless there are any objections I plan to submit a pull request. In my use case I have a Pyramid service which uses `concurrent-log-handler` and it seems better to be able to name keyword args for file configuration.
msg299586 - (view) Author: Preston Landers (planders) * Date: 2017-07-31 20:37
This is the current state of my patch: bpo-31080-fileconfig">https://github.com/python/cpython/compare/master...Preston-Landers:[bpo-31080](issue31080 "[closed] Allow logging.config.fileConfig to accept kwargs")-fileconfig It makes both `args` and `kwargs` optional in the config file. (Obviously, the actual handler may require args.)
msg299632 - (view) Author: Vinay Sajip (vinay.sajip) * (Python committer) Date: 2017-08-01 19:07
Yes, seems reasonable, but don't change Misc/NEWS directly in your patch - this is now done using the "blurb" tool. Installed into a Python 3 environment using "pip install blurb".
msg299671 - (view) Author: Vinay Sajip (vinay.sajip) * (Python committer) Date: 2017-08-02 20:44
New changeset 6ea56d2ebcae69257f8dd7af28c357b25bf394c3 by Vinay Sajip (Preston Landers) in branch 'master': bpo-31080: Allowed logging.config.fileConfig() to accept both args and kwargs. (GH-2979) https://github.com/python/cpython/commit/6ea56d2ebcae69257f8dd7af28c357b25bf394c3
msg299677 - (view) Author: Preston Landers (planders) * Date: 2017-08-02 22:51
A colleague pointed out that I used single quotes in the defaults where the line uses double quotes for another argument. I'm not sure if this is considered a problem but I could submit an update if it is.
msg299691 - (view) Author: Vinay Sajip (vinay.sajip) * (Python committer) Date: 2017-08-03 08:43
No, that's OK - leave it as is, I'll consider it when next visiting the area.
History
Date User Action Args
2022-04-11 14:58:49 admin set github: 75263
2017-08-03 08:43:28 vinay.sajip set messages: +
2017-08-02 22:51:15 planders set messages: +
2017-08-02 21:22:00 vinay.sajip set status: open -> closedresolution: fixedstage: resolved
2017-08-02 20:44:32 vinay.sajip set messages: +
2017-08-01 23:32:10 planders set pull_requests: + <pull%5Frequest3021>
2017-08-01 19:07:08 vinay.sajip set messages: +
2017-07-31 20:37:01 planders set messages: +
2017-07-31 20:27:14 pitrou set nosy: + vinay.sajip
2017-07-30 17:10:10 planders create