Added section on logging to one file from multiple processes.

This commit is contained in:
Vinay Sajip 2009-08-15 23:23:12 +00:00
parent c0ba828857
commit 3a0dc30947
1 changed files with 16 additions and 0 deletions

View File

@ -1337,6 +1337,22 @@ When this script is run, the output should look something like this::
The :class:`LoggerAdapter` class was not present in previous versions. The :class:`LoggerAdapter` class was not present in previous versions.
.. _multiple-processes:
Logging to a single file from multiple processes
------------------------------------------------
Although logging is thread-safe, and logging to a single file from multiple
threads in a single process *is* supported, logging to a single file from
*multiple processes* is *not* supported, because there is no standard way to
serialize access to a single file across multiple processes in Python. If you
need to log to a single file from multiple processes, the best way of doing
this is to have all the processes log to a :class:`SocketHandler`, and have a
separate process which implements a socket server which reads from the socket
and logs to file. (If you prefer, you can dedicate one thread in one of the
existing processes to perform this function.) The following section documents
this approach in more detail and includes a working socket receiver which can
be used as a starting point for you to adapt in your own applications.
.. _network-logging: .. _network-logging: