summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Doc/library/logging.handlers.rst8
-rw-r--r--Lib/logging/handlers.py11
2 files changed, 13 insertions, 6 deletions
diff --git a/Doc/library/logging.handlers.rst b/Doc/library/logging.handlers.rst
index 059ab3d..7fe9a98 100644
--- a/Doc/library/logging.handlers.rst
+++ b/Doc/library/logging.handlers.rst
@@ -1014,8 +1014,12 @@ possible, while any potentially slow operations (such as sending an email via
method is enqueued.
The base implementation formats the record to merge the message,
- arguments, and exception information, if present. It also
- removes unpickleable items from the record in-place.
+ arguments, and exception information, if present. It also removes
+ unpickleable items from the record in-place. Specifically, it overwrites
+ the record's :attr:`msg` and :attr:`message` attributes with the merged
+ message (obtained by calling the handler's :meth:`format` method), and
+ sets the :attr:`args`, :attr:`exc_info` and :attr:`exc_text` attributes
+ to ``None``.
You might want to override this method if you want to convert
the record to a dict or JSON string, or send a modified copy
diff --git a/Lib/logging/handlers.py b/Lib/logging/handlers.py
index b0d5885..e933f1b 100644
--- a/Lib/logging/handlers.py
+++ b/Lib/logging/handlers.py
@@ -1399,12 +1399,15 @@ class QueueHandler(logging.Handler):
def prepare(self, record):
"""
- Prepares a record for queuing. The object returned by this method is
+ Prepare a record for queuing. The object returned by this method is
enqueued.
- The base implementation formats the record to merge the message
- and arguments, and removes unpickleable items from the record
- in-place.
+ The base implementation formats the record to merge the message and
+ arguments, and removes unpickleable items from the record in-place.
+ Specifically, it overwrites the record's `msg` and
+ `message` attributes with the merged message (obtained by
+ calling the handler's `format` method), and sets the `args`,
+ `exc_info` and `exc_text` attributes to None.
You might want to override this method if you want to convert
the record to a dict or JSON string, or send a modified copy