微信小程序 | 接入阿里云监控

喜大奔普,微信小程序可接入 ARMS 前端监控啦。

阿里云监控可统计JS错误率,访问速度,API请求成功率,PU/PV,页面访问量,API链路追踪,地理分布,设备型号系统版本等等,还可自定义统计内容,很是方便。

虽然官方文档写得很清楚,但不同框架和不同环境下的选择不同,本文供大家参考,少走弯路,快速接入。

参考官方文档:https://help.aliyun.com/document_detail/103992.html?spm=a2c4g.11186623.6.605.195a33b7ROXRgP

1、获取SDK内容

将SDK内容copy放在微信小程序/utils目录下的wxLogger.js(名字可随意)文件中

SDK地址:https://retcode.alicdn.com/retcode/wl.js

  • 如果项目使用ES module (import)方式集成,则需要将sdk最后一行引入方式修改:
修改前:
var clazz=WXLogger;module.exports=clazz;
修改后:
export default WXLogger;

2、初始化

添加pid、uid:
pid是你的站点ID,在阿里云控制台--业务实时监控服务--前端监控添加你的监控后,即可在设置--应用设置中看到;
uid就是你的用户ID,用于统计 UV。

  • 如果项目使用node module (require)方式集成,则添加以下内容:
const WXLogger = require('./wxLogger.js');
const Monitor = WXLogger.init({
    pid: '你的pid',
    uid: "userId",
    region: 'cn'
});
export default Monitor;
  • 如果项目使用ES module (import)方式集成,则添加以下内容:
import WXLogger from './wxLogger.js';
const Monitor = WXLogger.init({
    pid: '你的pid',
    uid: "userId",
    region: 'cn'
});
export default Monitor;

3、日志上报

  • 静默上报
    如果项目采用原生开发,直接使用静默采集 PV、Error、API、性能及 Health 数据是最方便的。

需要注意的是:小程序监控项目如需使用 hookApp、hookPage 嵌入生命周期打点,必须符合标准小程序关于 App 和 Page 的规范,即 App层有 onError,Page 层有 onShow、onHide、onUnload

  1. 在app.js中使用Monitor.hookApp(options)方法静默捕获Error类日志。其中的options即为App层相应的Object配置。使用方式如下:
import Monitor from 'utils/monitor';

App(Monitor.hookApp({
  onShow(options) {
      //...
  }
}));
  1. 在page的JS文件中通过Monitor.hookPage(options)方法静默上报PV、Health数据。使用方式如下:
import Monitor from 'utils/monitor';

Page(Monitor.hookPage({
    onLoad(query) {
        //...
    }
}));
  • 手动上报
    如果项目采用框架开发如mpvue,无法直接使用静默上报时,可采用进阶方法-手动上报打点,此时需要注意请勿与静默上报方法同时使用,否则会造成日志重复上报
import Monitor from 'utils/monitor'

export default {
  data() {
    return {}
  },
  created() {},
  mounted() {},
  onShow() {
    Monitor.pageShow()
  },
  onHide() {
    Monitor.pageHide()
  },
  onError() {
    Monitor.pageError()
  }
}

在开发中,我们经常会用微信开发者工具进行调试,此时也会把测试环境的数据往上报,造成数据污染,那么就需要对环境进行区分判断,当只有线上环境时,才上报数据。而手动上报的方式可以方便的添加环境判断,达到我们的目的。下面是对Monitor简单的改写:

import WXLogger from 'utils/wxLogger.js'

/**
 * 用于判断是否是线上环境
 */
const isOnline = (() => {
  if (‘你的环境判断方法’) {
    return true
  } else {
    return false
  }
})()

/**
 * disableHook 是否禁用 request 请求监听。默认会监听并用于上报 API 调用成功率。
 * uid 用户 ID,用于统计 UV。
 */
const Monitor = WXLogger.init({
  pid: "你的pid",
  uid: "userId",
  region: 'cn',
  disableHook: !isOnline
})

const pageShow = () => {
  if (isOnline) {
    Monitor.pageShow()
  }
}

const pageHide = () => {
  if (isOnline) {
    Monitor.pageHide()
  }
}

const pageError = () => {
  if (isOnline) {
    Monitor.error()
  }
}

export default {
  pageShow,
  pageHide,
  pageError
}

4、设置安全域名

最后设置安全域名,就OK啦。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容

  • 每当层林尽染的秋天退去了色彩,树叶离开树枝,秋风萧萧之时,就有了一份失落,季节的冬天就要来了,气候渐渐寒冷,轻盈的...
    柠夏初开A阅读 372评论 0 0
  • 2017年10.5日朋友介绍认识的. 林辞 盛雨柔 小家伙. 以前好像叫过兔子和猖狂. 浙江温州人 应该在绍兴艺校...
    213bc9715039阅读 192评论 0 0