Sentry日志记录集成可防止发送哨兵事件(Python)

时间:2020-08-14 04:22:36

标签: python logging sentry

我有一个通过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设置进​​行设置,并且日志确认哨兵可以初始化并设置集成。但是,当发生应报告的事件时,哨兵将没有日志或任何记录。

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

事实证明烧瓶是在拦截异常,因为默认的哨兵集成不包括Flask。这意味着没有东西到达哨兵。我根据哨兵文档(https://docs.sentry.io/platforms/python/flask/)添加了flask集成,并且哨兵消息按预期发送。