一、背景
微信推出实时日志功能,可以在【微信公众平台】查看代码中输出的日志。但是官方文档中只有简单的本地封装的log.js,虽然有插件端日志说明,但是只是简单带过。
由于项目需要,所以对此进行了开发,现在写出来,供大家交流。
二、效果图
小程序插件-实时日志模块下面:
三、日志插件开发
关于插件如何开发,需要的小伙伴可以看我的另外一篇文章:https://blog.csdn.net/weixin_44431073/article/details/119535915?spm=1001.2014.3001.5501
1、编写插件端的日志api
因为三个api只有tag不一样,所以以其中一个为例,代码如下:
//获取实时日志管理器实例
var logManager = wx.getRealtimeLogManager ? wx.getRealtimeLogManager() : null
// 标签可为日志进行分类,因此建议开发者按逻辑来进行标签划分
var logger = logManager.tag('other-plugin')
function info(key, value) {
if (!logManager) return
if (typeof key !== 'string') return
logger.info.apply(logger, arguments)
}
function warn(key, value) {
if (!logManager) return
if (typeof key !== 'string') return
logger.warn.apply(logger, arguments)
}
function error(key, value) {
if (!logManager) return
if (typeof key !== 'string') return
logger.error.apply(logger, arguments)
}
// 添加当前页日志标签(便于搜索)
function setFilterMsg(msg) { // 从基础库2.7.3开始支持
if (!logManager || !logManager.setFilterMsg) return
if (typeof msg !== 'string') return
logger.setFilterMsg(msg)
}
// 添加当前页日志标签(便于搜索) 多个标签时建议使用
function addFilterMsg(msg) { // 从基础库2.8.1开始支持
if (!logManager || !logManager.addFilterMsg) return
if (typeof msg !== 'string') return
logger.addFilterMsg(msg)
}
module.exports = {
info,
warn,
error,
setFilterMsg,
addFilterMsg
}
2、在index.js中抛出
3、 需要注意的是,应该在插件中,编写demo,不然审核不通过
四、使用插件
插件使用跟正常的插件一样,不过需要注意的是,传递参数得是key-value格式
注意:目前插件端日志只支持手机测试,开发工具点击,是不能查看的