广告
返回顶部
首页 > 资讯 > 移动开发 >微信小程序实现实时日志和接口监控的接入
  • 424
分享到

微信小程序实现实时日志和接口监控的接入

微信小程序小程序 2023-09-04 16:09:23 424人浏览 泡泡鱼
摘要

前提:产品提出能够实时监控菜品展示、加购、下单的整个流程。方便正式环境查看接口运行情况。所以就接入了,小程序的日志和接口监控。 Log.js var log = wx.getRealtimeLogManager ? wx.getRealti

前提:产品提出能够实时监控菜品展示、加购、下单的整个流程。方便正式环境查看接口运行情况。所以就接入了,小程序日志和接口监控。

Log.js

var log = wx.getRealtimeLogManager ? wx.getRealtimeLogManager() : nullmodule.exports = {    // 实时日志    info() {        if (!log) return        log.info.apply(log, arguments)    },    warn() {        if (!log) return        log.warn.apply(log, arguments)    },    error() {        if (!log) return        log.error.apply(log, arguments)    },    setFilterMsg(msg) { // 从基础库2.7.3开始支持        if (!log || !log.setFilterMsg) return        if (typeof msg !== 'string') return        log.setFilterMsg(msg)    },    addFilterMsg(msg) { // 从基础库2.8.1开始支持        if (!log || !log.addFilterMsg) return        if (typeof msg !== 'string') return        log.addFilterMsg(msg)    },    // 实时日志    // 业务监控---基础监控--接口监控    joggleMonitor(monitorId, errorCode, errORMsg, time) {        wx.reportEvent && wx.reportEvent('wxdata_perf_monitor', {            // 接口ID,可以使用URL相似的ID,也可以另外命名            "wxdata_perf_monitor_id": monitorId,            //接口等级,0为普通,非0为重要,数值越大越重要,根据实际业务情况进行设置            "wxdata_perf_monitor_level": 1,            // 错误码,0为调用成功,非0为调用失败            "wxdata_perf_error_code": errorCode,            // 错误信息,选填,可以上报错误相关信息,方便后续排查问题            "wxdata_perf_error_msg": errorMsg,            // 接口耗时,选填            "wxdata_perf_cost_time": time,            // 以下为补充字段,可额外上报其他监控信息,用于事件分析,非必填            "wxdata_perf_extra_info1": "",            "wxdata_perf_extra_info2": "",            "wxdata_perf_extra_info3": "",        })    },    // 业务监控---基础监控--业务逻辑监控    busineSSMonitor(monitorId, errorCode, errorMsg, time, content) {        // content==业务逻辑内容        wx.reportEvent && wx.reportEvent('wxdata_perf_monitor', {            // 接口ID,可以使用URL相似的ID,也可以另外命名            "wxdata_perf_monitor_id": monitorId,            //接口等级,0为普通,非0为重要,数值越大越重要,根据实际业务情况进行设置            "wxdata_perf_monitor_level": 1,            // 错误码,0为调用成功,非0为调用失败            "wxdata_perf_error_code": errorCode,            // 错误信息,选填,可以上报错误相关信息,方便后续排查问题            "wxdata_perf_error_msg": errorMsg,            // 接口耗时,选填            "wxdata_perf_cost_time": time,            // 以下为补充字段,可额外上报其他监控信息,用于事件分析,非必填            "wxdata_perf_extra_info1": "",            "wxdata_perf_extra_info2": "",            "wxdata_perf_extra_info3": "",        })    },    // 功能/模块监控--搜索模块下的多接口监控    functionMonitor(monitorId, moduleId, errorCode, errorMsg, time) {        console.log("errorCode",errorCode, time)        wx.reportEvent && wx.reportEvent('wxdata_perf_module_monitor', {            // 接口ID,可以使用URL相似的ID,也可以另外命名            "wxdata_perf_monitor_id": monitorId,            "wxdata_perf_module_id": moduleId,            //接口等级,0为普通,非0为重要,数值越大越重要,根据实际业务情况进行设置            "wxdata_perf_monitor_level": 1,            // 错误码,0为调用成功,非0为调用失败            "wxdata_perf_error_code": errorCode,            // 错误信息,选填,可以上报错误相关信息,方便后续排查问题            "wxdata_perf_error_msg": errorMsg,            // 接口耗时,选填            "wxdata_perf_cost_time": time,            // 以下为补充字段,可额外上报其他监控信息,用于事件分析,非必填            "wxdata_perf_extra_info1": "",            "wxdata_perf_extra_info2": "",            "wxdata_perf_extra_info3": "",        })    },    // 服务/流程监控    serveStartMonitor(serviceId, stepId, monitorId, errorCode, errorMsg, time) {        wx.reportEvent && wx.reportEvent('wxdata_perf_service_monitor', {            "wxdata_perf_service_id": serviceId,            "wxdata_perf_step_type": 1,            "wxdata_perf_step_id": stepId,            // 接口ID,可以使用URL相似的ID,也可以另外命名            "wxdata_perf_monitor_id": monitorId,            //接口等级,0为普通,非0为重要,数值越大越重要,根据实际业务情况进行设置            "wxdata_perf_monitor_level": 1,            // 错误码,0为调用成功,非0为调用失败            "wxdata_perf_error_code": errorCode,            // 错误信息,选填,可以上报错误相关信息,方便后续排查问题            "wxdata_perf_error_msg": errorMsg,            // 接口耗时,选填            "wxdata_perf_cost_time": time,            // 以下为补充字段,可额外上报其他监控信息,用于事件分析,非必填            "wxdata_perf_extra_info1": "",            "wxdata_perf_extra_info2": "",            "wxdata_perf_extra_info3": "",        })    },    serveEndMonitor(serviceId, stepId, monitorId, errorCode, errorMsg, time) {        wx.reportEvent && wx.reportEvent('wxdata_perf_service_monitor', {            "wxdata_perf_service_id": serviceId,            "wxdata_perf_step_type": 0,            "wxdata_perf_step_id": stepId,            // 接口ID,可以使用URL相似的ID,也可以另外命名            "wxdata_perf_monitor_id": monitorId,            //接口等级,0为普通,非0为重要,数值越大越重要,根据实际业务情况进行设置            "wxdata_perf_monitor_level": 1,            // 错误码,0为调用成功,非0为调用失败            "wxdata_perf_error_code": errorCode,            // 错误信息,选填,可以上报错误相关信息,方便后续排查问题            "wxdata_perf_error_msg": errorMsg,            // 接口耗时,选填            "wxdata_perf_cost_time": time,            // 以下为补充字段,可额外上报其他监控信息,用于事件分析,非必填            "wxdata_perf_extra_info1": "",            "wxdata_perf_extra_info2": "",            "wxdata_perf_extra_info3": "",        })    }}

在需要监听的页面进行调用

import Log from '../../../utils/log'import moment from 'moment'const start = +new Date()//接口调用时使用// 接口监控dishLis_v5({}).then(res => {    // Log.joggleMonitor('dishLis_v5',res.success ? 0 : 1, res.msg, +new Date - start)    //  Log.functionMonitor('dishLis_v5','food',res.success ? 0 : 1, res.msg, +new Date - start)    Log.serveEndMonitor('dishLis_v5_service','dishLis_v5_step'}).catch(error => {  Log.info("=====", moment(new Date()).format('YYYY-MM-DD hh:mm:ss'), "======")  Log.error("报错", error)})

注意事项: Log的输出,必需是在手机上运行时才会有记录,在开发者上运行是没有记录的

查看位置:微信公众平台--开发管理--运维中心--WEB分析--性能质量--实时日志

 

来源地址:https://blog.csdn.net/qq_41687299/article/details/130129435

--结束END--

本文标题: 微信小程序实现实时日志和接口监控的接入

本文链接: https://www.lsjlt.com/news/393914.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作