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 格式。
- 实时日志目前只支持在手机端测试。工具端的接口可以调用,但不会上报到后台。