From: Vinay Sajip Date: Thu, 15 Jul 2021 00:06:48 +0000 (+0100) Subject: bpo-44473: Update docstring and documentation for QueueHandler.prepar… (GH-27140) X-Git-Tag: v3.11.0a1~676 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3b8075f9076490508567f0fb3dc689861544d1a8;p=thirdparty%2FPython%2Fcpython.git bpo-44473: Update docstring and documentation for QueueHandler.prepar… (GH-27140) …e(). --- diff --git a/Doc/library/logging.handlers.rst b/Doc/library/logging.handlers.rst index 059ab3d3a344..7fe9a98df82b 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 b0d5885989ea..e933f1b8f7ac 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