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

背景与业务

当线上环境捕获错误日志时,需建立标准化处理流程确保问题闭环。本规范结合导购小程序特点和错误日志的日志级别指定,重点解决生产环境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管理平台,实现错误日志一键解析:

  • 版本文件自动归档
  • 一键逆向解析
相关推荐
IT_陈寒14 分钟前
Vite打包后的路径问题差点让我改了一天代码
前端·人工智能·后端
禅思院17 分钟前
前端部署“三层漏斗”完全指南:从CI/CD到自动回滚的工程化实战【基石】
前端·架构·前端框架
黄林晴30 分钟前
AI时代终端窗口堆成山?这款工具让我爱不释手
前端
铁皮饭盒32 分钟前
Bun 多线程有多快?postMessage 传输字符串比 Node.js 快 400 倍!
前端·javascript·后端
橙子家10 小时前
浏览器缓存之【身份与会话管理】:Cookies 和 Private state tokens
前端
To_OC11 小时前
LC 49 字母异位词分组:想到哈希表很简单,选对 key 才是精髓
javascript·算法·leetcode
最新资讯动态11 小时前
HDC 2026 | 对话鲸鸿动能:存量时代,品牌如何夺回营销“主动权”?
前端
最新资讯动态11 小时前
游戏出海,从产品走向体系
前端
最新资讯动态11 小时前
20人团队跑出百万DAU、大厂也来抢量:谁在鸿蒙生态跑出加速度
前端
最新资讯动态11 小时前
千万开发者背后,鸿蒙商业化的B面
前端