https://github.com/duheng/sniperjs
sniperjs: 简单可依赖的前端错误日志搜集上报SDK。支持微信、支付宝、百度、头条、快应用等小程序,以及浏览器端。
https://github.com/duheng/sniperjs
bug debugger error error-log error-monitoring errors javascript javascript-errors miniprogram repoter
Last synced: 11 months ago
JSON representation
sniperjs: 简单可依赖的前端错误日志搜集上报SDK。支持微信、支付宝、百度、头条、快应用等小程序,以及浏览器端。
- Host: GitHub
- URL: https://github.com/duheng/sniperjs
- Owner: duheng
- Created: 2020-03-17T07:17:24.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2023-01-06T07:14:50.000Z (about 3 years ago)
- Last Synced: 2024-10-12T10:18:05.056Z (over 1 year ago)
- Topics: bug, debugger, error, error-log, error-monitoring, errors, javascript, javascript-errors, miniprogram, repoter
- Language: JavaScript
- Homepage:
- Size: 3.88 MB
- Stars: 10
- Watchers: 5
- Forks: 1
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# sniperjs 前端错误日志无侵入搜集和上报
简单可依赖的自动搜集前端错误并上报,支持小程序(微信、百度、支付宝、头条、快应用)、浏览器。
# 特性
1. 无侵入搜集 Js 报错。
2. 自动搜集 Http 错误。
3. 自动捕捉 Promise rejection。
4. 还原报错时用户操作历史。 [pending]
5. 自定义上报方式。
# 安装
```
npm install @sniperjs/miniwx-error-reporter
```
# 使用方式
> sniperjs 需在入口文件 App() 函数调用之前之前完成实例化
1. 引用对应端的的SDK。
2. 实例化。
### 引用(目前只支持微信小程序)
```
// app.js
// 微信小程序
import ErrorReporter from '@sniperjs/miniwx-error-reporter';
```
### 实例化
```
new ErrorReporter({
url: 'your request api'
});
// your app code
App();
```
### 日志格式
```
{
"agent": "WX_MINI_APP",
"env": "",
"appVersion": "",
"system": {
},
"logs": [{
"stack": "thirdScriptError\nabc is not defined;at \"pages/index/index\" page lifeCycleMethod onReady function\nReferenceError: abc is not defined\n at Ctor.componentDidMount (http://127.0.0.1:20424/appservice/pages/index/index.js:72:17)\n at Se.onReady (http://127.0.0.1:20424/appservice/ReactWX.js:3084:11)\n at Se. (http://127.0.0.1:20424/appservice/__dev__/WAService.js:2:1674902)\n at Se.p.__callPageLifeTime__ (http://127.0.0.1:20424/appservice/__dev__/WAService.js:2:1674647)\n at http://127.0.0.1:20424/appservice/__dev__/WAService.js:2:1698166\n at Function. (http://127.0.0.1:20424/appservice/__dev__/WAService.js:2:1698955)\n at http://127.0.0.1:20424/appservice/__dev__/WAService.js:2:1666024\n at http://127.0.0.1:20424/appservice/__dev__/WAService.js:2:726686\n at http://127.0.0.1:20424/appservice/__dev__/WAService.js:2:724745\n at n (http://127.0.0.1:20424/appservice/__dev__/asdebug.js:1:27894)",
"line": "72",
"col": "17",
"file": "http://127.0.0.1:20424/appservice/pages/index/index.js",
"type": "ReferenceError",
"value": "abc is not defined",
"time": 1586930000288,
"pageRoute": {
"path": "pages/index/index",
"query": {}
},
"breadcrumbs": []
}]
}
```
### 配置参数说明
| 参数 | 说明 | 类型 | 默认值 | 必选 |
| --- | --- | --- | --- | --- |
| url | 上报接口地址 | String | '' | 是 |
| ignoreErrors | 上报错误类型忽略 | Array | [] | 否 |
| random | 随机上报 | Number | 1 | 否 |
| repeat | 重复记录次数、超过该记录的错误不上报 | Number | 5 | 否 |
| delay | 延迟后合并上报 | Number | 1000(毫秒) | 否 |
| env | 环境变量 | String | '' | 否 |
| appVersion | 你的应用版本 | String | '' | 否 |
| autoBreadcrumbs | 是否上报用户操作历史 | Boolean | true | 否 |
| breadcrumbsMax | 最多记录最近几次用户操作记录 | Number | 5 | 否 |
| beforeReport | 上报前回调函数,可在这里劫持上报日志做处理,或者在这里自定义上报方式 | Function| function(log){return log} |否 |
# 常见问题
- FAQ
# 开发
```
# 克隆仓库
git clone https://github.com/taotao9125/sniperjs.git
# 安装依赖
npm install
# Bootstrap lerna 依赖包
npm run bootstrap
# watch
npm run watch
```