上次没有看到源码的问题解决了。之前没有看到源码,是因为本地跑的,后面我用docker起个服务,发现可以定位到源码,开森~
一、上报的规则
1、服务端设置报警的规则
可以在project setting ->alert里面去设置
2、 客户端设置
这是Sentry客户端的一些api。我们用configureScope
这个来试下
在客户端设置
Sentry.configureScope((scope) => {
scope.setUser({email: 'nanlan.yj@foxmail.com'});
scope.setExtra('character_name', 'Mighty Fighter');
});
构建之后,会看到刚刚设置的用户和extra Data
此外还有setTag、setExtra、setLevel的方法,具体可以参考 传送门
(ps:withScope和configureScope的区别在于作用域不同
这段话大概意思就是congfigure-scope
,当前scope改变的话,其他的也会改变。而with-scope
相当于创建一个当前scope
的副本,并且与原先的完全隔离直到函数调用完成
二、区分环境
process.env.NODE_ENV === "production" && Sentry.init({
release: 'v1.0.6',
dsn: 'https://f36c12db53d94e21b3eeecdf890dfcc4@o384506.ingest.sentry.io/5227797',
environment: 'staging',
debug: true,
// beforeBreadcrumb(breadcrumb, hint) {
// console.log(breadcrumb)
// return breadcrumb.category === 'ui.click' ? null : breadcrumb;
// },
});
可以看到刚刚设置的环境,你可以提出实际需求,设置local
、relase
当然还可以在
project setting
中environment
中管理
更多关于
Sentry.init
的配置参数,[传送门](https://docs.sentry.io/error-reporting/configuration)
三、创建发布并关联提交
1、首先在 Integration
里面安装github
在设置->Integration->安装 github
配置你的github地址
2、创建发布并关联提交
- 用
CLI
创建发布并提交
在自己的项目录下创建xx.sh
的文件
#!/bin/bash
export SENTRY_AUTH_TOKEN=
export SENTRY_ORG=
export VERSION=v1.0.6
# 创建一个发布,可以new多个
sentry-cli releases new -p nanlan-blog $VERSION
# 与commit相关联,默认是最新的20次
sentry-cli releases set-commits --auto $VERSION
# 最终发布
sentry-cli releases finalize $VERSION
- 运行
sh xx.sh
即可
3、查看是否成功
- 在
发布
的菜单下可以看到,证明操作成功
4、链接git issue
在问题最右侧的面板点击Link Github Issue
创建一个链接
可以看到github的issue增加了一个
问题的issue id
下次提交的时候,提交日志加上issue的id,那么这个问题就会从
unresolved
变成solved
git commit -m "fix NANLAN-BLOG-E"
后续的计划
- 了解原理
- 熟悉api