日志回捞
功能概述
日志回捞功能为研发团队提供按需远程获取客户端日志的能力,帮助快速定位和解决线上疑难问题。区别于传统的全量日志上传方案,日志回捞将客户端日志保存在本地,仅在需要时通过任务方式拉取指定用户的日志,大幅降低存储成本,提升日志利用率。
与传统方案对比
传统全量日志方案的问题
- 所有用户日志全部上传到平台
- 日志利用率极低(仅 5% 的数据被使用)
- 95% 的数据从未被查看,造成严重的存储资源浪费
- 持续消耗带宽和存储成本
- 海量日志查询性能差
日志回捞方案的优势
- 客户端日志保存在本地,不主动上传
- 仅在需要时拉取指定用户的日志
- 日志利用率接近 100%(按需拉取)
- 大幅降低存储成本和带宽消耗
- 查询性能高,精准定位问题
核心价值
- 按需获取:仅拉取需要分析的用户日志,日志利用率接近 100%
- 成本优化:避免全量上传,节省 95% 以上的存储和带宽成本
- 问题快速定位:获取完整的客户端日志,快速还原问题现场
- 批量排查支持:支持同时拉取多个用户的日志,批量分析问题
- 隐私安全可控:按需拉取、过期自动取消,保护用户隐私
什么是日志回捞
日志回捞是一种远程获取客户端本地日志 的技术手段。当线上出现疑难问题通过基础数据无法分析时,通过创建日志回捞任务,SDK 会将指定用户设备上本地存储的日志数据上传到平台,供研发团队进行深度分析。
工作流程
1. 客户端本地保存日志(7天)
↓
2. 研发创建回捞任务(指定用户/设备、时间范围)
↓
3. SDK 接收任务指令(用户设备在线时)
↓
4. 满足条件时上传日志(WiFi/移动网络)
↓
5. 平台展示日志
技术要求
- SDK 版本:需开启「日志回捞」模块开关
- 本地存储:SDK 以天粒度生成日志文件,单文件最大 10MB(可配置)
- 存储容量:本地最多存储 7 份日志文件,约 70MB
- 网络要求:需要用户设备在线且满足网络条件
重要限制
SDK 初始化要求
- 客户端必须完成 SDK 初始化后才能接收日志回捞任务
- 未初始化或初始化失败的设备无法收到回捞指令
- 仅在 SDK 正常工作的情况下才会上传本地日志文件
采样限制
- 如果客户端被采样(未在监控范围内),则不会收集日志数据
- 被采样的设备即使创建回捞任务也无法获取日志
注意:创建任务前,建议先确认目标设备是否在监控范围内(未被采样)且 SDK 已正常初始化。