首页 > 其他分享 >实时日志

实时日志

时间:2024-12-28 16:42:57浏览次数:7  
标签:插件 log 实时 addFilterMsg 日志 页面

实时日志

背景

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

如何使用

小程序/小游戏端

从基础库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')

完整的例子可以参考代码片段: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、页面链接、FilterMsg内容(基础库2.7.3及以上支持setFilterMsg)等筛选条件查询指定用户的日志信息。如果是插件上报的实时日志,可从“小程序插件->实时日志”进入日志查询页面进行查询。

./log2.png

注意事项

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

  1. 为了定位问题方便,日志是按页面划分的,某一个页面,在一定时间内(最短为5秒,最长为页面从显示到隐藏的时间间隔)打的日志,会聚合成一条日志上报,并且在小程序管理后台上可以根据页面路径搜索出该条日志
  2. 每个小程序账号,We分析基础版每天限制5000条日志,We分析专业版为50000条,且支持购买配置升级或购买额外的上报扩充包。日志根据版本配置,会保留7天/14天/30天不等,建议遇到问题及时定位。
  3. 一条日志的上限是5KB,最多包含200次打印日志函数调用(info、warn、error调用都算),所以要谨慎打日志,避免在循环里面调用打日志接口,避免直接重写console.log的方式打日志。
  4. 意见反馈里面的日志,可根据OpenID搜索日志。
  5. setFilterMsg和addFilterMsg 可设置类似日志tag的过滤字段。如需添加多个关键字,建议使用addFilterMsg。例如addFilterMsg('scene1'), addFilterMsg('scene2'),addFilterMsg('scene3'),设置后在小程序管理后台可随机组合三个关键字进行检索,如:“scene1 scene2 scene3”、“scene1 scene2”、 “scene1 scene3” 或 “scene2”等(以空格分隔,故addFilterMsg不能带空格)。以上几种检索方法均可检索到该条日志,检索条件越多越精准。
  6. 目前为了方便做日志分析,插件端实时日志只支持 key-value 格式。
  7. 实时日志目前只支持在手机端测试。工具端的接口可以调用,但不会上报到后台。
  8. 开发版、体验版的实时日志,不计入相关quota,即无使用上限。

filtermsg

标签:插件,log,实时,addFilterMsg,日志,页面
From: https://www.cnblogs.com/AtlasLapetos/p/18624388

相关文章

  • c# 实现一个简单的异常日志记录(异常迭代+分片+定时清理)+AOP Rougamo全局注入
    1.日志目录和文件管理日志目录:日志文件存储在./Exceptions目录下。日志文件命名:日志文件的命名格式为yyyy_MM_dd.log,表示当天的日期。如果当天的日志文件大小超过maxFileSizeBytes(3KB),则会创建新的日志文件,文件名格式为yyyy_MM_dd_P{cnt}.log,其中cnt是日志文件的编......
  • C++日志管理从基础到完善
    万古教员有名言,自信人生二百年。个人主页:oioihoii喜欢内容的话欢迎关注、点赞、收藏!感谢支持,祝大家祉猷并茂,顺遂无虞!版本一:基础日志代码在设计C++日志系统时,我们需要考虑以下几个关键点:易用性:日志系统应该易于使用,开发者应该能够轻松地添加日志条目。性能:日志系统应......
  • Omnissa App Volumes 4, version 2412 - 实时应用程序交付系统
    OmnissaAppVolumes4,version2412-实时应用程序交付系统OmnissaAppVolumes,formerlyVMwareAppVolumes请访问原文链接:https://sysin.org/blog/omnissa-app-volumes/查看最新版。原创作品,转载请保留出处。作者主页:sysin.org重新定义跨VDI、DaaS和已发布的应用......
  • Linux实时查看网卡流量为多少?如何查看历史网卡流量?
    在Linux中,你可以使用多种工具来实时查看网卡流量以及检查历史网卡流量数据。下面我将列出一些常见的方法:1.实时查看网卡流量iftopiftop是一个实时流量监控工具,它显示类似于top命令的输出。你需要先安装它:sudoapt-getinstalliftop#Debian/Ubuntusudoyuminstallif......
  • WireShark4.4.2浏览器网络调试指南:捕获实时流量(四)
    概述在当今高度互联的世界中,网络流量的监控和分析至关重要。随着企业网络和互联网应用的复杂性增加,IT专业人员和网络管理员需要准确的工具来评估和优化网络性能。Wireshark作为全球使用最广泛的网络协议分析工具,提供了捕获和分析实时网络流量的综合解决方案。捕获流量2.1......
  • WireShark4.4.2浏览器网络调试指南:过滤实时流量上(五)
    概述随着互联网在现代生活中的作用不断增强,网络流量的实时分析与监控已经成为保护网络安全和优化网络性能的关键环节。网络管理员和IT专业人员常常需要分析大量网络数据,以检测潜在问题或优化网络配置。Wireshark作为全球广泛使用的网络协议分析工具,其强大的数据捕获和分析功能......
  • 基于java的SpringBoot/SSM+Vue+uniapp的员工日志管理信息系统的详细设计和实现(源码+l
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言......
  • 面向自动驾驶的实时交通场景深度图像分割与障碍物检测系统的设计与实现
    面向自动驾驶的实时交通场景深度图像分割与障碍物检测系统的设计与实现摘要随着自动驾驶技术的快速发展,视觉感知技术成为其中的核心环节之一。本研究设计并实现了基于YOLOv8的实时交通场景障碍物检测与语义分割系统。通过深度学习技术优化模型性能,系统实现了在复杂交通环......
  • 用Apache Doris实现实时向量存储与查询
    文章目录概要整体架构流程技术名词解释技术细节小结概要提示:这里可以添加技术概要例如:openAI的GPT大模型的发展历程。整体架构流程提示:这里可以添加技术整体架构例如:在语言模型中,编码器和解码器都是由一个个的Transformer组件拼接在一起形成的。技术......
  • Kafka日志存储全解析
    文章目录1.1.日志存储结构1.1.1.日志文件结构1.1.2.topic1.1.3.partition1.1.4.segment索引文件1.1.5.message结构1.1.6.message查找过程1.2.存储策略1.2.1.顺序写1.2.2.页缓存1.2.3.零拷贝1.2.4.缓存机制1.3.日志格式演变1.3.1.V0版本1.3.2.V1版本1.3.3.V0/V1消息集......