文章实时采集(小程序插件-gt实时日志使用规则(组图) )

优采云 发布时间: 2021-09-28 13:11

  文章实时采集(小程序插件-gt实时日志使用规则(组图)

)

  实时日志背景

  为帮助小程序开发者快速排查小程序漏洞和定位问题,我们推出了实时日志功能。开发者可以通过提供的接口打印日志,采集日志并实时上报给小程序后端。开发者可以从小程序管理后台“开发->开发管理->运维中心->实时日志”进入小程序日志查询页面,或从“小程序插件->实时日志”进入插件日志查询页面Log”,然后查看开发者打印的日志信息。

  小程序/小游戏使用方法

  从基础库2.7.1开始,小终端可以使用实时日志,从基础库2.14.4开始支持小游戏终端.

  1、调用相关接口。日志的接口是wx.getRealtimeLogManager。为了兼容旧版本,建议使用如下代码进行封装,例如封装在log.js文件中:

  var log = wx.getRealtimeLogManager ? wx.getRealtimeLogManager() : null

module.exports = {

debug() {

if (!log) return

log.debug.apply(log, arguments)

},

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)

},

setFilterMsg(msg) { // 从基础库2.7.3开始支持

if (!log || !log.setFilterMsg) return

if (typeof msg !== 'string') return

log.setFilterMsg(msg)

},

addFilterMsg(msg) { // 从基础库2.8.1开始支持

if (!log || !log.addFilterMsg) return

if (typeof msg !== 'string') return

log.addFilterMsg(msg)

}

}

  2、在页面特定位置打印日志:

  var log = require('./log.js') // 引用上面的log.js文件

log.info('hello test hahaha') // 日志会和当前打开的页面关联,建议在页面的onHide、onShow等生命周期里面打

log.warn('warn')

log.error('error')

log.setFilterMsg('filterkeyword')

log.addFilterMsg('addfilterkeyword')

  完整的例子可以参考代码片段:

  插件端

  从基础库2.16.0开始,插件也支持实时日志。为了让日志更加结构化以进行更复杂的分析,插件端采用了全新设计的格式。

  1、 调用相关接口 wx.getRealtimeLogManager 获取实时日志管理器的实例:

  const logManager = wx.getRealtimeLogManager()

  2、在需要日志的逻辑中,获取日志实例:

  // 标签名可以是任意字符串,一个标签名对应一组日志;同样的标签名允许被重复使用,具有相同标签名的日志在后台会被汇总到一个标签下

// 标签可为日志进行分类,因此建议开发者按逻辑来进行标签划分

const logger = logManager.tag('plugin-onUserTapSth')

  3、在合适的位置打印日志:

  logger.info('key1', 'value1') // 每条日志为一个 key-value 对,key 必须是字符串,value 可以是字符串/数值/对象/数组等可序列化类型

logger.error('key2', {str: 'value2'})

logger.warn('key3', 'value3')

logger.setFilterMsg('filterkeyword') // 和小程序/小游戏端接口一致

logger.setFilterMsg('addfilterkeyword') // 和小程序/小游戏端接口一致

  如何查看日志

  登录小程序管理后台,从“开发->开发管理->运维中心->实时日志”进入日志查询页面。开发者可以通过设置时间、微信ID/OpenID、页面链接、FilterMsg内容(基础库2.7.3及以上支持setFilterMsg)等过滤条件查询指定用户的日志信息。如果是插件上报的实时日志,可以通过“小程序插件->实时日志”进入日志查询页面进行查询。

  

  预防措施

  由于后台资源限制,“实时日志”的使用规则如下:

  为了方便定位问题,将日志按页面划分,某个页面,在一定时间内(最短为5秒,最长为页面显示和隐藏的时间间隔),会聚合成一个小程序管理后台可以根据页面路径查找该日志。每个小程序账号每天限制1000万条日志,日志保存7天。建议及时定位问题。一个日志的上限为5KB,最多收录200个打印日志函数调用(info、warn、error调用都算在内),所以要注意log,避免循环调用log接口,避免直接覆盖console .log 点击日志。反馈中的日志可以根据OpenID查找。setFilterMsg 和 addFilterMsg 可以设置类似于日志标签的过滤字段。如果需要添加多个关键字,建议使用addFilterMsg。比如addFilterMsg('scene1'), addFilterMsg('scene2'), addFilterMsg('scene3'),设置后可以随机组合三个关键字在小程序管理后台搜索,如:“scene1 scene2 scene3”, "scene1 scene2" ", "scene1 scene3" or "scene2" 等(用空格隔开,所以addFilterMsg不能收录空格)日志可以通过以上几种检索方式进行检索,检索条件越多越准确会的,目前为了方便日志分析,插件实时日志只支持key-value格式。实时日志目前仅支持手机端测试。工具端的接口可以调用,但是不会上报后台。

  

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线