我有一个通过WSGI运行的python 3 flask服务器。我有一个处理环境变量的api代码导入的配置文件,并在此文件中设置了哨兵。这是我的代码,其设置完全符合哨兵文档https://docs.sentry.io/platforms/python/logging/
中的描述 if sentry_dsn is not None:
sentry_logging = LoggingIntegration(
level=logging.INFO,
event_level=logging.CRITICAL,
)
LOG.debug(f"Initialising sentry for environment {sentry_environment}")
sentry_sdk.init(
sentry_dsn,
environment=sentry_environment,
integrations=[sentry_logging],
)
else:
LOG.warn("Sentry key not set up")
问题是这不会将任何事件发送到哨兵,异常日志甚至未捕获的异常中。我知道DSN是正确的,因为如果我这样设置哨兵,所有未捕获的异常以及错误和异常日志都将发送到我的哨兵项目中:
if sentry_dsn is not None:
LOG.debug("Initialising sentry")
sentry_sdk.init(sentry_dsn, environment=sentry_environment)
else:
LOG.warn("Sentry key not set up")
我已经尝试使用哨兵init中的debug=True
设置进行设置,并且日志确认哨兵可以初始化并设置集成。但是,当发生应报告的事件时,哨兵将没有日志或任何记录。
任何帮助将不胜感激
答案 0 :(得分:1)
事实证明烧瓶是在拦截异常,因为默认的哨兵集成不包括Flask。这意味着没有东西到达哨兵。我根据哨兵文档(https://docs.sentry.io/platforms/python/flask/)添加了flask集成,并且哨兵消息按预期发送。