mirror of https://github.com/python/cpython
Added section on logging to one file from multiple processes.
This commit is contained in:
parent
4d51aaaa46
commit
a7471bf334
|
@ -1316,6 +1316,21 @@ When this script is run, the output should look something like this::
|
|||
2008-01-18 14:49:54,033 d.e.f WARNING IP: 127.0.0.1 User: jim A message at WARNING level with 2 parameters
|
||||
|
||||
|
||||
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:
|
||||
|
||||
Sending and receiving logging events across a network
|
||||
|
|
Loading…
Reference in New Issue