Skip to content
微信公众号

错误监控

错误采集

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);
}

Released under the MIT License.