Python并发日志记录以避免代码中的磁盘瓶颈

时间:2018-06-09 23:36:52

标签: python multithreading logging python-asyncio

我对asyncio不太熟悉,但我希望有一些简单的方法可以使用asyncio.Queue将日志消息推送到队列而不是将它们写入磁盘,然后让一个工作人员线程等待这些队列事件,并在资源可用时将它们写入磁盘。这似乎是非常必要的,因为日志记录是许多代码中的一个巨大瓶颈,但并不总是需要实时。是否有任何预先存在的软件包,或者有经验的人可以编写一个简短的示例脚本来帮助我入门吗?注意:这需要与现有代码进行交互,因此将其全部打包在类中可能是首选。

1 个答案:

答案 0 :(得分:1)

它是在最近的Python版本的标准库中处理的。有关信息,请参阅this postofficial documentation。此功能早于asyncio,因此不使用它(并不特别需要)。

对于Python 2.7,您可以使用提供等效功能的logutils包。