[Python-checkins] bpo-44473: Update docstring and documentation for QueueHandler.prepar… (GH-27140)
miss-islington
webhook-mailer at python.org
Wed Jul 14 20:06:54 EDT 2021
https://github.com/python/cpython/commit/3b8075f9076490508567f0fb3dc689861544d1a8
commit: 3b8075f9076490508567f0fb3dc689861544d1a8
branch: main
author: Vinay Sajip <vinay_sajip at yahoo.co.uk>
committer: miss-islington <31488909+miss-islington at users.noreply.github.com>
date: 2021-07-14T17:06:48-07:00
summary:
bpo-44473: Update docstring and documentation for QueueHandler.prepar… (GH-27140)
…e().
files:
M Doc/library/logging.handlers.rst
M Lib/logging/handlers.py
diff --git a/Doc/library/logging.handlers.rst b/Doc/library/logging.handlers.rst
index 059ab3d3a34448..7fe9a98df82b1e 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 b0d5885989ea42..e933f1b8f7ac85 100644
--- a/Lib/logging/handlers.py
+++ b/Lib/logging/handlers.py
@@ -1399,12 +1399,15 @@ def enqueue(self, record):
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
More information about the Python-checkins
mailing list