[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