gpt4 book ai didi

python - 设置 Sentry 不工作 - 没有发送到 Sentry

转载 作者:太空宇宙 更新时间:2023-11-04 04:40:12 25 4
gpt4 key购买 nike

我接手了一个使用 python 和 flask 的项目(我也是 python/flask 的新手!)。我想向其中添加 Sentry 以捕获发生的任何错误/异常。为了增加复杂性,该项目被拆分为多个相互链接的 docker 容器。我首先尝试让主要的“前端”容器开始将错误记录到 Sentry。

我已经阅读了文档,但它只会让我更加困惑。

例如(来自 frontend.py 文件):

app = WebServer(logger, environment)
sentry = Sentry(app, logging=True, level=logging.INFO)

这是在应用程序的前端部分。据我了解,这应该允许 Sentry 捕获任何异常并将其发送出去,但没有任何反应(我做了一个简单的除以零以强制引发异常)。

我确定我可能遗漏了一些东西,但我只是对文档感到困惑。

例如,在日志记录选项中(我一直在考虑可能改用这个选项),它谈到了手动设置客户端。它在谈论什么客户?

我之前已经将 Sentry 设置为在 PHP Laravel 应用程序中工作,完全没有问题,而且操作起来非常非常容易。这种 Python 方式让我很困惑。

最佳答案

所以这就是我最终做的:

from raven import Client
from raven.conf import setup_logging
from raven.handlers.logging import SentryHandler

sentry_dsn = 'MY DSN FROM SENTRY'

sentry_client = Client(dsn=sentry_dsn, site='MYAPP')
handler = SentryHandler(sentry_client)
handler.setLevel(logging.ERROR)
setup_loggin(handler)

通过这种方式设置,我现在发现在我的应用程序中任何使用记录器的地方, Sentry 都会接收并发送它。

此外,为了让我知道它来自哪个部分,我创建了一个具有有意义名称的记录器:例如 logger = logging.getLogger('meaningfulname') 然后 Sentry 将在其结果。

关于python - 设置 Sentry 不工作 - 没有发送到 Sentry ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50831205/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com