错误监控
错误采集
JavaScript异常监控的方法采用暴力埋点的方式,但是由于它会造成污染代码的后果,所以在api使用的时候会提供开关的形式来谨慎选择。默认采用劫持函数的形式。
在默认app.js中监听onLaunch、onShow、onHide、onError生命周期函数,其中在onLaunch中执行获取用户基础信息,当监控到有执行onError是就记录一次报错信息。
小程序App()生命周期里提供了onError函数,可以通过在onError里收集异常信息。
js
App({
// 监听错误
onError: function (err) {
// 上报错误
}
})
通过在onError里收集异常信息为了不污染业务代码,我们通过重写生命周期的方式来进行收集。
js
const originApp = App;
const self = this;
App = function(app){
const userDefinedError = app['onError'];
app['onError'] = function (options){
//错误上报
self.error({msg:options});
return (userDefinedError&&userDefinedError.call(this,options));
}
return originApp(app);
}