diff options
-rw-r--r-- | Doc/library/logging.handlers.rst | 8 | ||||
-rw-r--r-- | Lib/logging/handlers.py | 11 |
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 |