小程序错误日志链路处理规范

背景与业务

当线上环境捕获错误日志时,需建立标准化处理流程确保问题闭环。本规范结合导购小程序特点和错误日志的日志级别指定,重点解决生产环境JS报错排查难的问题,同时及时处理异常报错增加线上环境的稳定性。

解决方案:

sourcemap对报错信息进行逆向解析

错误日志排查处理依赖前期的错误监控体系、动态版本号:

  1. 可观测性升级:小程序错误监控体系实践
  2. 小程序自动化构建与版本管理方案优化

标准化处理流程

bash 复制代码
                        level=1
[钉钉告警]--->[TAPD工单] ------> [研发修复] --->[测试验证] ----> [发布更新]
                        |                                       |
                        | level>1                               |
                        └--------------[迭代周期发布]-------------┘

SourceMap

1. 获取方式对比

  • 微信公众后台下载(付费)
  • CI脚本自动获取(免费)

2. 脚本获取

在小程序上传脚本之后添加sourcemap获取的脚本sourcemap.wx.js,代码如下:

javascript 复制代码
const env = process.env.NODE_ENV || 'prod'
const appid = process.env.APP_ID || 'wxxxxxxxxxxxxxxx'
const privateKeyPath = process.cwd() + '/' +`${env}key/private.`+ `${appid}` + '.key';
const version = process.env.VERSION || ''
const ci = require('miniprogram-ci');

const project = new ci.Project({
  appid: appid,
  type: 'miniProgram',
  projectPath: process.cwd() + '/dist',
  privateKeyPath: privateKeyPath,
  ignores: [
    'node_modules/**/*',
    'devkey/**/*',
    'prodkey/**/*',
    'prekey/**/*',
  ],
  reporter: (res)=> {
    console.log('reporter: ', reporter)
  }
})

ci.getDevSourceMap({
  project,
  robot: 1,
  sourceMapSavePath: `./${version}.zip`
})

错误解析

报错信息

javascript 复制代码
MiniProgramError
c is not a function
TypeError: c is not a function
    at u (appservice.js:388:6358)
    at WASubContext.js:1:103490

根据报错信息在错误监控平台找到具体的日志信息:

错误定位

通过微信小程序开发工具定位错误位置:

  1. 在日志库找到对应版本的sourcemap
  2. 在微信小程序调试器->sourcemap定位报错

版本管理

必须检查

✅ SourceMap文件与线上版本严格对应

✅ 生产环境Map文件保留期≥90天

优化建议

搭建SourceMap管理平台,实现错误日志一键解析:

  • 版本文件自动归档
  • 一键逆向解析
相关推荐
之歆几秒前
Day19_LESS 完全指南——从入门到工程实践
前端·css·less
云水一下40 分钟前
HTML5 从入门到精通:实战收官——从零搭建完整静态网站,综合运用所有知识
前端·html5
不总是1 小时前
Windows 系统 Node.js 免安装版(zip)安装与配置教程(2026 最新)
前端·windows·node.js
冬奇Lab1 小时前
每日一个开源项目(第105篇):Twenty - 跳出 Salesforce 的圈套,定义现代开源 CRM
前端·后端·开源
zhangyao9403302 小时前
开发pc端时,表格的高度怎么设置才能铺满页面
前端·javascript·elementui
XinZong2 小时前
实测OpenClaw虾淘:全民工具AI时代,冷门非工具类的Skill还能出圈吗?
javascript
kjs--2 小时前
浏览器书签执行脚本
前端
烛衔溟2 小时前
TypeScript 类的类型 —— 作为类型使用
javascript·ubuntu·typescript
之歆2 小时前
Day16_JavaScript 轮播图与事件工程实战(下篇)
服务器·开发语言·前端·javascript·网络·性能优化
沄媪3 小时前
CSRF 跨站请求伪造
前端·ctf·csrf