擅长:python、mysql、java
<p>由于您似乎使用默认的文件打开模式append(“a”)而不是write(“w”),如果一个进程重新生成,它应该附加到现有文件,然后在达到大小限制时进行滚动。所以我不确定你看到的是由重新生成的CGI进程引起的。(这当然是假设进程重新生成时文件名保持不变)。在</p>
<p>虽然日志记录包是线程安全的,但它不处理来自多个进程的对同一文件的并发访问,因为在stdlib中没有标准的方法来完成。我通常的建议是设置一个单独的守护进程来实现一个socket服务器,并将通过它接收到的事件记录到文件中,其他进程则只实现一个SocketHandler来与日志守护进程通信。然后将所有事件正确序列化到磁盘。Python文档包含一个<a href="http://docs.python.org/library/logging.html#sending-and-receiving-logging-events-across-a-network" rel="nofollow noreferrer">working socket server</a>,它可以作为这个需求的基础。在</p>