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

Python并发日志记录可避免代码中的磁盘瓶颈,python,multithreading,logging,python-asyncio,Python,Multithreading,Logging,Python Asyncio,我不太熟悉asyncio,但我希望有一种简单的方法可以使用asyncio.Queue将日志消息推送到队列,而不是将它们写入磁盘,然后让线程上的工作线程等待这些队列事件,并在资源可用时将它们写入磁盘。这似乎非常必要,因为日志记录是许多代码中的一个巨大瓶颈,但并不总是实时需要。这方面有没有现成的软件包,或者有更多经验的人可以写一个简短的示例脚本让我开始吗?注意:这需要与现有代码接口,因此最好将其全部打包到一个类中。在最近的Python版本中,它在标准库中处理。有关信息,请参阅,以及。此功能早于asy

我不太熟悉asyncio,但我希望有一种简单的方法可以使用asyncio.Queue将日志消息推送到队列,而不是将它们写入磁盘,然后让线程上的工作线程等待这些队列事件,并在资源可用时将它们写入磁盘。这似乎非常必要,因为日志记录是许多代码中的一个巨大瓶颈,但并不总是实时需要。这方面有没有现成的软件包,或者有更多经验的人可以写一个简短的示例脚本让我开始吗?注意:这需要与现有代码接口,因此最好将其全部打包到一个类中。

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


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

听起来您可能想要
queue.queue
,而不是
asyncio.queue
。asyncio是单线程的。谢谢!我看不到文档中突出显示了这一点。看起来他们好像移动了队列。第一眼看到队列!