【问题标题】:Handling sentry service error in flask logging处理烧瓶日志中的哨兵服务错误
【发布时间】:2020-05-27 13:09:03
【问题描述】:

我有一个烧瓶项目,它的日志记录过程由 Sentry 处理(在 sentry 之前,我使用存储在日志文件中的日志)。

上周我的服务器出现问题导致 Sentry 出现故障,我在登录项目时不断收到 refused connection 错误。

我想知道有没有办法在烧瓶日志中实现 Sentry,以便在 Sentry 发生故障时自动将日志记录到日志文件中?

这就是我在 init 文件中的 Flask 项目中使用 Sentry 的方式:

app = Flask(__name__,
            template_folder='templates',
            static_folder='path',
            static_path='path')

...

if settings.SENTRY_DSN:
    from raven.contrib.flask import Sentry
    from raven.handlers.logging import SentryHandler
    sentry = Sentry(app, dsn=settings.SENTRY_DSN)
    sentry_handler = SentryHandler(settings.SENTRY_DSN)
    sentry_handler.setLevel(logging.ERROR)
    logging.getLogger().addHandler(sentry_handler)
    limiter.logger.addHandler(sentry_handler)

【问题讨论】:

    标签: flask logging sentry


    【解决方案1】:

    使用官方sdk 为烧瓶安装哨兵

    pip install --upgrade 'sentry-sdk[flask]==0.14.4'
    

    设置你的配置

    if settings.SENTRY_DSN:
        import sentry_sdk
        from sentry_sdk.integrations.flask import FlaskIntegration
        sentry_sdk.init(
            dsn=settings.SENTRY_DSN,
            integrations=[FlaskIntegration()]
        )
    

    【讨论】:

    • 不确定官方 SDK 是否正确处理了这个问题,因为我们正在使用它,但当我们的 Sentry 服务器关闭时,Flask 应用程序中仍有一些副作用......
    猜你喜欢
    • 2011-10-28
    • 1970-01-01
    • 2021-06-27
    • 2021-05-07
    • 2016-01-28
    • 2015-08-27
    • 2021-11-14
    • 2014-06-11
    • 2020-12-03
    相关资源
    最近更新 更多