日志回捞
概述
支持设置自定义日志并缓存在设备中。在发生问题时,如果需要追查、复现特定设备定位问题,可以利用日志回捞的功能对设备进行远程下发日志捞取请求,并获取到所选时段的自定义日志(非系统日志)。
日志文件会进行加密并且上传时压缩,保证终端设备的性能并减少流量消耗。平台会利用下发策略引擎与SDK进行交互,在应用启动时开始日志拉取。
例如场景:
a、某功能有采样率,用户反馈的问题没有上报到后台
启动、页面、网络能功能有一定的采样率限制,并非全部日志均会上报,在后台检索不到该设备的相关性能日志后可考虑通过日志回捞的方式捞取当前该设备的相关日志信息,完成日志分析。
b、某些指定场景日志获取
业务中会涉及某些非崩溃、性能类的日志由于自身业务需求也需要进行上报。这类的日志可以通过在日志回捞功能,在SDK将这类日志打印保存在本地磁盘中,当业务需求的情况下则通过捞取功能将该日志上传,获取相关信息;
功能实现方式:
SDK接入:定义好想要自定义捞取的日志,并在SDK接入环节完成相关代码的接入。
建立捞取任务:当有需求场景时,通过APM后台完成设备id配置,启动捞取任务;
任务执行时间:任务支持捞取当前时间前7天、后3天的日志,
后台数据查看:完成捞取后,APM后台会展示相关的日志信息;

新建日志回捞任务
您可以点击任务列表中「新建任务」进行日志回捞的任务创建。
创建时必须填写任务名称
任务描述为可选填项目
捞取时间范围:支持选择在当日日期起前7天后3天的时间,您可以同时选择包含历史时间和未来时间。历史时间的任务会下发到设备上进行一次性捞取日志,如果是未来时间,SDK会每五分钟进行判断是否有新的日志生成,采集到后进行上传。
捞取设备选择,您可以选择识别ID或者umid进行设备定位。识别ID是需要您在初始化的时候自定义设置的设备标识,设置方式请见Android、iOS集成文档中对日志回捞的说明。umid是U-APM平台中对设备的ID,您可以在其他模块中查看到umid,复制到这里进行日志回捞的下发。

下图为错误明细中umid的展示位置,日志回捞不支持使用用户ID(puid)进行下发,因用户ID往往在应用初始化的时候无法获得,会造成日志回捞失败的影响。

您可以选择是否在日志回捞任务结束后收到通知,您可以通过邮箱或者webhook传输到您的交流软件。

此处的设置与监控告警功能中的通知没有关联,您需要在此处单独设置。设置方式参考:如何设置webhook
如果您在一个任务中设置了多个设备,我们会认为您所有的设备都完成了日志的捞取才会视为完成,您也可以在任务进行中返回后台查看设备的完成情况。
如果您选择的有历史时间,则会在今天开始等待7天;
如果有应用启动成功将日志上报即为完成;
如果您选择的有未来的时间,我们会在未来时间的基础上继续等待7天,在这期间如果有应用启动成功将日志上报即为完成;
如果在任务下发时间内设备没有开启过应用,或者识别ID/umid 输入有误,都会造成任务的失败;
任务列表
您可以在任务列表中查看最多90天内的日志回捞任务,可以点击「任务详情」查看任务的进展情况,点击「复制」新建一个相同模板的日志回捞任务。
如果您的任务正在进行中,您可以点击「取消」中止任务。
如果您已完成或者已取消的任务过多,需要整理列表,可以点击「删除」将任务从列表中删除。注意:正在进行中的任务需要先取消中止任务再删除。

任务详情
任务详情中可以查看到每一个设备捞取到的回捞日志详情,左侧展示所有的ID。

回捞任务中,设备状态包含待下发、已下发、已完成、已取消、已超时。设备ID的状态与颜色的对应关系如下:

如果您设置的是识别ID,因在任务的时间范围内,识别ID存在跨设备的可能(比如使用了账号邮箱作为识别ID,但是终端用户在两个设备上分别使用了这个账号邮箱,因此会造成识别ID对应多设备的问题)。为了适应所有场景,平台在使用识别ID作为下发ID的时候会判断有多少个设备,并分别上报这些设备的回捞日志,所以您会看到任务详情页面中展示识别ID以及下一级的设备ID(umid)。
支持对日志进行如下高级搜索
时间范围
日志级别:Debug/Error/Info/Warning
上传的Tag信息