[Python-checkins] gh-65046: Add note about logging from async code. (GH-97602)

vsajip webhook-mailer at python.org
Wed Sep 28 00:18:14 EDT 2022


https://github.com/python/cpython/commit/5c110d112600b679b4cf41b11d2b73653da60555
commit: 5c110d112600b679b4cf41b11d2b73653da60555
branch: main
author: Vinay Sajip <vinay_sajip at yahoo.co.uk>
committer: vsajip <vinay_sajip at yahoo.co.uk>
date: 2022-09-28T05:17:42+01:00
summary:

gh-65046: Add note about logging from async code. (GH-97602)

files:
M Doc/howto/logging-cookbook.rst

diff --git a/Doc/howto/logging-cookbook.rst b/Doc/howto/logging-cookbook.rst
index 16df3b730ac8..5b079744df12 100644
--- a/Doc/howto/logging-cookbook.rst
+++ b/Doc/howto/logging-cookbook.rst
@@ -397,6 +397,14 @@ which, when run, will produce:
 
     MainThread: Look out!
 
+.. note:: Although the earlier discussion wasn't specifically talking about
+   async code, but rather about slow logging handlers, it should be noted that
+   when logging from async code, network and even file handlers could lead to
+   problems (blocking the event loop) because some logging is done from
+   :mod:`asyncio` internals. It might be best, if any async code is used in an
+   application, to use the above approach for logging, so that any blocking code
+   runs only in the ``QueueListener`` thread.
+
 .. versionchanged:: 3.5
    Prior to Python 3.5, the :class:`QueueListener` always passed every message
    received from the queue to every handler it was initialized with. (This was



More information about the Python-checkins mailing list