Issue31080
Created on 2017-07-30 17:10 by planders, last changed 2017-08-03 08:43 by vinay.sajip. 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-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) * | 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) * | 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) * | 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 |
| 2017-08-03 08:43:28 | vinay.sajip | set | messages: + msg299691 |
| 2017-08-02 22:51:15 | planders | set | messages: + msg299677 |
| 2017-08-02 21:22:00 | vinay.sajip | set | status: open -> closed resolution: fixed stage: resolved |
| 2017-08-02 20:44:32 | vinay.sajip | set | messages: + msg299671 |
| 2017-08-01 23:32:10 | planders | set | pull_requests: + pull_request3021 |
| 2017-08-01 19:07:08 | vinay.sajip | set | messages: + msg299632 |
| 2017-07-31 20:37:01 | planders | set | messages: + msg299586 |
| 2017-07-31 20:27:14 | pitrou | set | nosy:
+ vinay.sajip |
| 2017-07-30 17:10:10 | planders | create | |