wx.getRealtimeLogManager实时日志管理器对象 实时日志管理器对象官方文档
小程序用于实时日志的方法
let log = wx.getRealtimeLogManager ? wx.getRealtimeLogManager() : null;/*** @Description: 日志记录(手机可以上传-编译器不能)* @author Chendy* @date 2020/5/8* 可上传调用方法可以打印日志到后台,在小程序管理平台可以查看打印的日志**/class Logs {constructor() {}/*** 普通提示*/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);}/*** 组合提示* @param msg*/setFilterMsg(msg) {if (!log || !log.setFilterMsg) {return;}if (typeof msg !== "string") {return;}log.setFilterMsg(msg);}addFilterMsg(msg) {if (!log || !log.addFilterMsg) {return;}if (typeof msg !== "string") {return;}log.addFilterMsg(msg);}}export { Logs };
调用:
let setLog = new Logs();app.setLog.setFilterMsg('试题练习、我的考试、历史错题内的答题卡'); // 日志标签,用于筛选日志app.setLog.info('试题练习、我的考试、历史错题内的答题卡', "可以多个参数上传日志"); // 普通日志app.setLog.warn('试题练习、我的考试、历史错题内的答题卡'); // 警告日志app.setLog.error('试题练习、我的考试、历史错题内的答题卡'); // 报错日志
注意:由于后台资源限制,会有一些限制
- 为了定位问题方便,日志是按页面划分的,某一个页面,在一定时间内(最短为5秒,最长为页面从显示到隐藏的时间间隔)打的日志,会聚合成一条日志上报,并且在小程序管理后台上可以根据页面路径搜索出该条日志。
- 每个小程序账号每天限制1000万条日志,日志会保留7天,建议遇到问题及时定位。
- 一条日志的上限是5KB,最多包含200次打印日志函数调用(info、warn、error调用都算),所以要谨慎打日志,避免在循环里面调用打日志接口,避免直接重写console.log的方式打日志。
- 意见反馈里面的日志,可根据OpenID搜索日志。
- setFilterMsg和addFilterMsg 可设置类似日志tag的过滤字段。如需添加多个关键字,建议使用addFilterMsg。例如addFilterMsg(‘scene1’), addFilterMsg(‘scene2’),addFilterMsg(‘scene3’),设置后在小程序管理后台可随机组合三个关键字进行检索,如:“scene1 scene2 scene3”、“scene1 scene2”、 “scene1 scene3” 或 “scene2”等(以空格分隔,故addFilterMsg不能带空格)。以上几种检索方法均可检索到该条日志,检索条件越多越精准。
- 目前为了方便做日志分析,插件端实时日志只支持 key-value 格式。
- 实时日志目前只支持在手机端测试。工具端的接口可以调用,但不会上报到后台。
