通过Flask应用程序进行岗哨记录

2024-06-08 20:51:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我在测试哨兵错误记录系统(getsentry.com网站)在烧瓶应用程序中。除了异常之外,我还试图为后台进程记录一些键logging.INFO消息。在

为了测试,我使用内置的Flask logger将消息发送到Sentry以获取关键URL请求。在

问题是日志记录条目不会在发生时发送给Sentry。相反,它们似乎被“保存”起来,只有在应用程序进程完成后才会被发送,这对于生产服务器来说是没有用的。在

我认为我使用Docker容器可能是个问题,但我在一个基本的应用程序和调试服务器中测试了Sentry,结果也一样。在

如果需要的话,我可以提供代码(只在电话ATM机上),但我认为这对熟悉这个问题的人来说已经足够了。在


Tags: 服务器com应用程序消息烧瓶进程网站logging
1条回答
网友
1楼 · 发布于 2024-06-08 20:51:48

很可能您的应用程序使用的任何线程模型都不能很好地使用Sentry SDK的默认线程传输:

https://github.com/getsentry/raven-python/blob/master/raven/transport/threaded.py#L26

您会注意到,当进程终止时,它会强制发送任何挂起的消息,这很可能就是您所遇到的。然而,真正的问题是工作线程似乎没有运行。在

您应该尝试使用同步HttpTransport,或确定以上是否正确:

https://docs.getsentry.com/hosted/clients/python/transports/

相关问题 更多 >