]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-40756: Default second argument of LoggerAdapter.__init__ to None (GH-20362)
authorArturo Escaip <arturo.escaip@gmail.com>
Tue, 26 May 2020 14:55:21 +0000 (07:55 -0700)
committerGitHub <noreply@github.com>
Tue, 26 May 2020 14:55:21 +0000 (07:55 -0700)
The 'extra' argument is not always used by custom logger adapters. For
example:

```python
class IndentAdapter(logging.LoggerAdapter):
    def process(self, msg, kwargs):
        indent = kwargs.pop(indent, 1)
        return ' ' * indent + msg, kwargs
```

It is cleaner and friendlier to default the 'extra' argument to None
instead of either forcing the subclasses of LoggerAdapter to pass a None
value directly or to override the constructor.

This change is backward compatible because existing calls to
`LoggerAdapter.__init__` are already passing a value for the second
argument.

Automerge-Triggered-By: @vsajip
Lib/logging/__init__.py
Misc/NEWS.d/next/Library/2020-05-24-11-06-37.bpo-40756.7ZH83z.rst [new file with mode: 0644]

index 403dc81b13ef4e235b8300a6d867b8e941ef6325..6d27301a7056e02deece74328c124d99a14fbcaf 100644 (file)
@@ -1751,7 +1751,7 @@ class LoggerAdapter(object):
     information in logging output.
     """
 
-    def __init__(self, logger, extra):
+    def __init__(self, logger, extra=None):
         """
         Initialize the adapter with a logger and a dict-like object which
         provides contextual information. This constructor signature allows
diff --git a/Misc/NEWS.d/next/Library/2020-05-24-11-06-37.bpo-40756.7ZH83z.rst b/Misc/NEWS.d/next/Library/2020-05-24-11-06-37.bpo-40756.7ZH83z.rst
new file mode 100644 (file)
index 0000000..a970f5b
--- /dev/null
@@ -0,0 +1,2 @@
+The second argument (extra) of ``LoggerAdapter.__init__`` now defaults to
+None.