需要使用Concurrent_log_handler进行python的基于时间和基于大小的文件旋转

问题描述 投票:1回答:1

Concurrent_log_hanlder用于在python日志记录中将多个进程记录到单个文件,工作正常。但是其日志文件轮换仅基于文件的大小。我需要同时支持基于时间和基于大小的文件轮换的并发日志记录处理程序。

Python内置日志记录提供对基于时间的轮换和基于大小的轮换的支持。而且,我们可以编写自定义日志记录,可以将这两个功能结合在一起。但是,此自定义的日志记录处理程序不支持将多进程日志记录到单个文件。

就我而言,我需要具有基于大小和时间的文件轮换功能的多个进程日志记录处理程序。

是否有可用的python日志记录处理程序。我尝试将并发记录日志处理程序与python记录基于时间的内置旋转处理程序结合使用。它对我不起作用。有什么解决方案可以解决我的情况。

python logging handler
1个回答
0
投票

您可以通过使用QueueHandlerQueueListener来避免多进程文件句柄的所有麻烦。该体系结构将具有一个专用的日志记录过程,该过程使用任何单进程处理程序,并使该进程从Queue中读取日志消息,所有其他进程通过QueueHandler将其日志发送到该日志消息。按照链接的文档中的示例进行设置并不是特别困难。

© www.soinside.com 2019 - 2024. All rights reserved.