Python 来自多个工人的Gunicorn日志记录

Python 来自多个工人的Gunicorn日志记录,python,flask,gunicorn,Python,Flask,Gunicorn,我有一个flask应用程序,它在服务器上的多个gunicorn同步进程中运行,并使用TimedRotatingFileHandler从flask应用程序中的每个worker中登录到一个文件。回想起来,这似乎不安全。有没有一种标准的方法可以在python中(大容量)实现这一点,而无需编写自己的基于套接字的日志服务器或类似工具?其他人是如何做到这一点的?我们确实使用syslog跨服务器聚合到一个日志服务器,但理想情况下,我希望首先在应用程序节点上持久化日志 感谢您的见解我们最终将应用程序更改为向st

我有一个flask应用程序,它在服务器上的多个gunicorn同步进程中运行,并使用TimedRotatingFileHandler从flask应用程序中的每个worker中登录到一个文件。回想起来,这似乎不安全。有没有一种标准的方法可以在python中(大容量)实现这一点,而无需编写自己的基于套接字的日志服务器或类似工具?其他人是如何做到这一点的?我们确实使用syslog跨服务器聚合到一个日志服务器,但理想情况下,我希望首先在应用程序节点上持久化日志


感谢您的见解

我们最终将应用程序更改为向stdout发送日志,现在依靠supervisord聚合日志并将其写入文件。我们还考虑过直接将日志发送到rsyslog,但目前这对我们来说效果很好。

我使用的仅供参考的标准输出通常是(块)缓冲的,这意味着来自不同写入程序的行可以混合在一起;stderr通常是行缓冲的,所以您可以在写入行时立即看到它们,这也可以防止它们被混合在一起。但这些可能因环境和程序而异。