Skip to content

Commit 1e9f56e

Browse files
author
Cyril Martin
committed
Extra kwargs of log() are ignored by LoggerAdapter
- extra kwargs given to Logger#log are ignored when we configure a LoggerAdapter (same for: debug, info, warning etc). - LoggerAdapter processes only extra kwargs given during its __init__ - I expect extras are merged Signed-off-by: Cyril Martin <[email protected]>
1 parent 8452104 commit 1e9f56e

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

Lib/logging/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1647,7 +1647,7 @@ def __init__(self, logger, extra):
16471647
adapter = LoggerAdapter(someLogger, dict(p1=v1, p2="v2"))
16481648
"""
16491649
self.logger = logger
1650-
self.extra = extra
1650+
self.extra = extra or {}
16511651

16521652
def process(self, msg, kwargs):
16531653
"""
@@ -1659,7 +1659,7 @@ def process(self, msg, kwargs):
16591659
Normally, you'll only need to override this one method in a
16601660
LoggerAdapter subclass for your specific needs.
16611661
"""
1662-
kwargs["extra"] = self.extra
1662+
kwargs["extra"] = { **self.extra, **(kwargs.get("extra", {})) }
16631663
return msg, kwargs
16641664

16651665
#
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Do not ignore extra in logging method when a LoggerAdapter is configured. Patch by Cyril Martin

0 commit comments

Comments
 (0)