[738]Flask集成sentry实现错误监控

sentry是个开源的实时错误报告工具,支持 web 前后端、移动应用以及游戏,支持 Python、OC、Java、Go、Node、Django、RoR 等主流编程语言和框架 ,还提供了 GitHub、Slack、Trello 等常见开发工具的集成。

flask集成sentry分为4个步骤:

  1. 首先在sentry官网注册1个账号, Sentry官网地址
  2. 然后创建1个新的项目,这里我选择的是flask,这会得到一些关于sdk的使用说明
  3. 接下来创建一个简单的flask项目使用sdk测试一下
  4. 实时在sentry的dashboard的project页面上看到提交过来的异常信息

在flask项目中配置使用sentry,步骤如下:

1、通过pip 安装sentry-sdk

pip install --upgrade sentry-sdk[flask]==0.7.3

2、flask初始化app的文件中执行,dsn值直接复制 sentry给出的sdk使用说明中的值就可以

import sentry_sdk
from sentry_sdk.integrations.flask import FlaskIntegration
sentry_sdk.init(
  dsn="https://70das632c203455ea1ec6b45f9acd844e@sentry.io/1302806",
  integrations=[FlaskIntegration()],
  #environment="dev",
  #send_default_pii=True
)
app = Flask(__name__)

简单配置就实现了错误监控,程序发送错误会发送邮件到配置的邮箱

3、测试报错情况:

@app.reoute('debug-sentry')
def trigger_error():
    division_by_zero=1/0

1/0会引发ZeroDivisionError错误

Traceback (most recent call last):
  File "<input>", line 1, in <module>
ZeroDivisionError: division by zero

在sentry查看一下效果:

image

果然很强大,连出错的代码都可以显示出来

image

行为
  • Flask集成将安装在您的所有应用程序中。它挂钩到Flask的信号,而不是app对象上的任何信号。

  • 每个事件都附有一些数据:
    1.除非将send_default_pii设置为true,否则将排除个人可识别信息(例如用户ID,用户名,cookie,授权标头,IP地址)。
    2.请求数据附加到所有事件。
    3.如果已安装并配置了Flask-Login,则会将用户数据附加到事件。

  • 报告导致内部服务器错误的所有异常。

  • 使用app.logger或任何记录器进行日志记录将在启用日志记录集成时创建面包屑(默认情况下已完成)。

参考:https://blog.csdn.net/ying_ge_/article/details/87937820
https://blog.csdn.net/lcli2009/article/details/83213190
https://www.cnblogs.com/kaerxifa/p/11711841.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周小董

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值