Authored by htoooth

fix

@@ -23,10 +23,24 @@ const errorRouterSqlSender = new MysqlSender(config.table.error); @@ -23,10 +23,24 @@ const errorRouterSqlSender = new MysqlSender(config.table.error);
23 const perfReportSqlSender = new MysqlSender(config.table.perf); 23 const perfReportSqlSender = new MysqlSender(config.table.perf);
24 24
25 function handleClientError(scope, item) { 25 function handleClientError(scope, item) {
  26 + // 无效数据
26 if (!/cdn.yoho.cn/.test(item.sc)) { 27 if (!/cdn.yoho.cn/.test(item.sc)) {
27 return; 28 return;
28 } 29 }
29 30
  31 + if (!item.msg) {
  32 + return;
  33 + }
  34 +
  35 + if (item.msg.toLowerCase() === 'script error') {
  36 + return;
  37 + }
  38 +
  39 + if (item.msg.toLowerCase().charCodeAt(0) < 'a'.charCodeAt(0) ||
  40 + item.msg.toLowerCase().charCodeAt(0) > 'z'.charCodeAt(0)) {
  41 + return;
  42 + }
  43 +
30 let data = { 44 let data = {
31 tags: { 45 tags: {
32 app: scope.app, 46 app: scope.app,
@@ -80,6 +80,24 @@ function handleErrorReport(m) { @@ -80,6 +80,24 @@ function handleErrorReport(m) {
80 } 80 }
81 }); 81 });
82 82
  83 + // 排除情况
  84 + const msg = _.get(m, 'fields.message', '');
  85 +
  86 + if (!msg) {
  87 + return;
  88 + }
  89 +
  90 + if (msg === '""') {
  91 + return;
  92 + }
  93 +
  94 + const code = _.parseInt(_.get(m, 'tags.code', '0'));
  95 +
  96 + // 限流
  97 + if (code === 9999991) {
  98 + return;
  99 + }
  100 +
83 errorSqlSender.addMessage(msg2row.errorRouter(m)); 101 errorSqlSender.addMessage(msg2row.errorRouter(m));
84 } 102 }
85 103