arms 如何忽略某些JS错误

299 阅读1分钟

一、可忽略那些类型错误?

建议忽略错误类型: 不影响用户交互不影响业务逻辑 、经调研有效清除的错误(在前两条的基础上)

二、如何设置忽略错误

在前端接入arms时候代码中设置的config参数中添加 ignore 属性。

ignore 具有的属性

ignore的值是一个对象,包含四个属性:ignoreUrlsignoreApisignoreErrorsignoreResErrors。可单独设置其中的1个或多个属性。

ignore: {
    ignoreUrls: [],
    ignoreApis: [],
    ignoreErrors: [],
    ignoreResErrors: []
},
1.ignoreUrls

标识忽略某些URL,符合规则的URL下的日志都不会被上报。值可以是StringRegExpFunction或者以上三种类型组成的数组

ignore: {
  ignoreUrls: [
    'http://host1/',  // 字符串
    /.+?host2.+/,     // 正则表达式
    function(str) {   // 方法
      if (str && str.indexOf('host3') >= 0) {
        return true;   // 不上报
      }
      return false;      // 上报
    }
2.ignoreApis

表示忽略某些API,符合规则的API将不会被监控。值可以是StringRegExpFunction或者以上三种类型组成的数组

ignore: {
  ignoreApis: [
    'api1','api2','api3', // 字符串
    /^random/,  // 正则表达式
    function(str) { // 方法
      if (str && str.indexOf('api3') >= 0) return true;   // 不上报
      return false;   // 上报
    }]
}
3.ignoreErrors

前端来说用的比较多的是JS错误

表示忽略某些JS错误,符合规则的JS错误不会被上报。值可以是StringRegExpFunction或者以上三种类型组成的数组。

ignore: {
  ignoreErrors: [
    'test error', // 字符串
    /^Script error.?$/, // 正则表达式
    function(str) { // 方法
      if (str && str.indexOf('Unknown error') >= 0) return true;   // 不上报
      return false;   // 上报
    }]
}
4.ignoreResErrors

表示忽略指定的资源错误,符合规则的资源错误不会被上报。值可以是StringRegExpFunction或者以上三种类型组成的数组。

ignore: {
  ignoreResErrors: [
    'http://xx/picture.jpg', // 字符串
    /jpg$/, // 正则表达式
    function(str) { // 方法
      if (str && str.indexOf('xx.jpg') >= 0) return true;   // 不上报
      return false;   // 上报
    }]
}