Skip to content

sniperjs: 简单可依赖的前端错误日志搜集上报SDK。支持微信、支付宝、百度、头条、快应用等小程序,以及浏览器端。

Notifications You must be signed in to change notification settings

duheng/sniperjs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.<anonymous> (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.<anonymous> (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<RegExp|String> []
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

About

sniperjs: 简单可依赖的前端错误日志搜集上报SDK。支持微信、支付宝、百度、头条、快应用等小程序,以及浏览器端。

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published