给你的项目装个探头 — Sentry

栏目: 编程语言 · 发布时间: 5年前

内容简介:我们可以到Sentry 官网中去创建一个账号,然后我们在 Sentry 中根据我们项目类型创建一个项目,由于这里我们做演示是 React 应用,所以我们选择 React,当然了 Sentry 支持非常多的类型,大家可以按照自己项目进行添加。这时候,我们会看到这个界面,我们点击按钮。这时候会出现例子,我们先记住,然后开始创建我们的 React 应用。我们用

我们可以到Sentry 官网中去创建一个账号,然后我们在 Sentry 中根据我们项目类型创建一个项目,由于这里我们做演示是 React 应用,所以我们选择 React,当然了 Sentry 支持非常多的类型,大家可以按照自己项目进行添加。

给你的项目装个探头 — Sentry

这时候,我们会看到这个界面,我们点击按钮。这时候会出现例子,我们先记住,然后开始创建我们的 React 应用。

初始化 React 应用

我们用 create-react-app 创建好我们的应用,并且安装好 @sentry/browser

接着我们在 index.js 里初始化 Sentry

import * as Sentry from '@sentry/browser';

Sentry.init({
  dsn: 'https://54ad7a14513e48bbb9b20698da401d1d@sentry.io/1491516'
});
复制代码

然后,在 App.js 里写一段抛出错误的代码。

<button
  onClick={() => {
    throw new Error('抛出错误');
  }}
 >
  throw error
</button>
复制代码

点击按钮,我们就能够在 Sentry 中看到错误了。

给你的项目装个探头 — Sentry

我们点击进去之后可以看到非常多的信息,包括错误堆栈,以及浏览器的事件等等,这些都能够帮助我们快速定位问题,并且在邮箱中我们收到了来自 Sentry 的报警邮件。

给你的项目装个探头 — Sentry

等等,我们好像忘记了一个问题,如果别人也往这里发报错信息,我们会接收到所有的报错信息,但是我们只想收到我们应用的报错。

可以在这个地方设置我们接收的域名。

给你的项目装个探头 — Sentry

设置 releases

在我们项目进行版本迭代的过程中,我们在一个新版本修复了一个问题,但是由于用户使用的是老版本,所以同样的错误又暴露出来了,这时候我们就能够清楚的知道,这是因为用户使用了老版本代码造成的。

那么我们要如何在 Sentry 中设置项目的版本呢?很简单,就像下面这样:

Sentry.init({
  dsn: 'https://54ad7a14513e48bbb9b20698da401d1d@sentry.io/1491516',
  release: 'sentry_example@20190627121204'
});
复制代码

这样新版本上的错误就会被标记成 sentry_example@20190627121204

给你的项目装个探头 — Sentry

sourceMap

上面说的这些,我们能够简单的对项目进行错误预警,但是有个问题就是当我们将项目进行打包之后代码变得极其难阅读,这样的报错信息对于我们来说是不友好的,那么我们要怎么解决这个问题呢?

答案当然就是给 webpack 的配置加上 source-map 了,我们将 webpack 的配置打开,这时候我们再进行编译就会出现 map 文件了。

那么 Sentry 是如何知道我们的 map 文件的呢?答案就是我们需要将 map 文件上传到 Sentry 中去,也就是说,我们在 build 之后需要将文件上传一份到 Sentry 中去,同时,我们将版本和 map 文件结合起来,也就是说我们需要先建立一个版本,然后将对应版本的文件上传上去,那么我们该如何操作呢?

@sentry/cli
# 我们确定版本号的格式为 sentry_example@20190627220147
# 这时候我们使用 sentry-cli 工具创建对应的版本
$ sentry-cli releases new sentry_example@20190627220147
# 再使用 sentry-cli 上传文件
$ sentry-cli releases files sentry_example@20190627220147 upload-sourcemaps --url-prefix http://localhost:8080 ./build
# 圆满成功
复制代码

上面的操作中有个需要注意的点,就是 --url-prefix 参数是你的静态文件访问的前缀,这个一定要写对,不然它对应不起来。

  1. 第三步,使用 http-server 启动一个服务,然后访问它,再点击抛错按钮。

通过上面几步,我们又在 Sentry 中收到了报警。

给你的项目装个探头 — Sentry

bingo,我们看到了更容易阅读的错误报告,同时,你还可以去设置邮件、钉钉、微信等接入报错提醒,关于 Sentry 接入更多信息,可以到官网查看文档。

最后,大家使用 Sentry 还有场景是需要自己在内网搭建部署,如果是配合 Docker,那么搭建 Sentry 服务就变得非常简单了。

经过迷茫后,博客将继续更新,欢迎 Star,敬请期待。

github.com/balancelove…


以上所述就是小编给大家介绍的《给你的项目装个探头 — Sentry》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

运营笔记

运营笔记

类延昊 / 天津人民版社 / 2016-12-1 / CNY 39.80

运营是入门浅但学问深的行当。一个入门很久的人不见得能在11年内爬到塔尖,同样一个初入龙门的人占据高位也不见得非用11年。 到底该怎么做运营?如何做运营才不至于让自己忙死累死甚至茫然不知所措?如何和用户进行有效沟通?如何把握住处于塔尖20%的核心用户?如何强敌逼阵时快速找到突破口?如何挤破头皮提高转化率? 在这本书里,类类以自己常年战斗在一线摸爬滚打的经验给予了有效而真诚的解答。一起来看看 《运营笔记》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

在线进制转换器
在线进制转换器

各进制数互转换器

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具