导航菜单
首页 >  微信小程序运行报错  > 实时日志

实时日志

# 实时日志 # 背景

为帮助小程序开发者快捷地排查小程序漏洞、定位问题,我们推出了实时日志功能。开发者可通过提供的接口打印日志,日志汇聚并实时上报到小程序后台。开发者可从We分析“性能质量->实时日志->小程序日志”进入小程序端日志查询页面,或从“性能质量->实时日志->插件日志”进入插件端日志查询页面,进而查看开发者打印的日志信息。

# 如何使用 # 小程序/小游戏端

从基础库2.7.1开始,小程序端即可使用实时日志,小游戏端则从基础库2.14.4开始支持。

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

var log = wx.getRealtimeLogManager ? wx.getRealtimeLogManager() : nullmodule.exports = { debug() {if (!log) returnlog.debug.apply(log, arguments) }, info() {if (!log) returnlog.info.apply(log, arguments) }, warn() {if (!log) returnlog.warn.apply(log, arguments) }, error() {if (!log) returnlog.error.apply(log, arguments) }, setFilterMsg(msg) { // 从基础库2.7.3开始支持if (!log || !log.setFilterMsg) returnif (typeof msg !== 'string') returnlog.setFilterMsg(msg) }, addFilterMsg(msg) { // 从基础库2.8.1开始支持if (!log || !log.addFilterMsg) returnif (typeof msg !== 'string') returnlog.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')

完整的例子可以参考代码片段:https://developers.weixin.qq.com/s/aFYw1BmC7eak

# 插件端

从基础库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') // 和小程序/小游戏端接口一致# 如何查看日志

登录We分析,从“性能质量->实时日志”进入日志查询页面。开发者可通过设置时间、微信号/OpenID、页面

相关推荐: