使用Sentry提交崩溃报告
有一些崩溃是我们无法通过常规手段看到的,但是Electron给我提供了崩溃监控,而且还有几个事件可以用,但是你可以看只有renderer process、plugin process、gpu process这个进程,主进程是没有的???
Sentry是Electron应用程序的官方Sentry SDK。它可以捕获主进程和渲染器中的JavaScript异常,以及收集本机崩溃报告。
我们经过一系列的注册、登录、引导之后...
集成代码
核心代码:
npm install @sentry/electron@0.17.1
// 崩溃报告
import * as Sentry from '@sentry/electron'
// 报告常规错误
Sentry.init({
dsn: 'https://8e0258fcf49d43d09d9fe7c6a0c8ea80@sentry.io/1455801',
})
// 报告系统错误
crashReporter.start({
companyName: 'lanmiao',
productName: 'LanMiaoDesktop',
ignoreSystemCrashHandler: true,
submitURL: 'https://sentry.io/api/1455801/minidump/?sentry_key=8e0258fcf49d43d09d9fe7c6a0c8ea80'
})
上面一个是记录常规错误的,另个一是记录系统错误的,我测试过了,所以两段代码都不能少。
手动触发错误测试一下
我随便写在托盘里了,throw new Error()
就是触发常规的错误,process.crash()
是触发系统错误。
查看错误
当你的应用出现错误时,sentry会给你发送邮件,issues中有你的错误列表,点击查看错误详情,信息蛮丰富的。下面是效果图,unknown那 个就是系统错误,我使用process.crash()
手动触发的。
后面看看如果有需要的话会再更新崩溃这一块的,目前就讲这一点点吧。
GitGuardian
开启这个实时监控后,会给你发送个邮件
GitGuardian 是个实时自动扫描开源项目代码的平台,当发布敏感资料到Github开源项目时,它就会自动提醒我们,比如发送电子邮件。它也提供很多Api来提供用户问题,不过免费版本就只会发送电子邮件。