HarmonyOS 鸿蒙Next中log日志,线上版本的App是否可以查看到
HarmonyOS 鸿蒙Next中log日志,线上版本的App是否可以查看到 大家好,想问个问题,在研发阶段,输出的日志,在线上的版本是否可以联机查看到。
如果作为开发者想查看到log日志,分析线上问题,应该如何配置,才能在DevEco Studio中联机查看到呢?
线上问题的监控和分析您可查询APMS服务,下面附上APMS服务的介绍以及使用注意点:
背景知识
应用性能监测服务(Application Performance Management Service,简称APMS)是AppGallery Connect(简称AGC)向开发者提供的一个现网质量监测解决方案,特性:免集成、覆盖全面、实时上报、统计准确。
问题定位
- 判断开通APMS服务功能的应用,与上报崩溃的应用是否是同一个应用?包名需要保持一致。
- 应用是否在调试阶段,如果应用在调试阶段,检查应用是否使用调试证书与Profile进行打包调试?
- 检查手机系统版本是否是HarmonyOS 5.0.0 Release及以上版本。
- 检查日志中是否存在崩溃,通过关键字“report success tags apms”进行排查。
- 应用创建完成时间是否未达到6小时。
分析结论
- 需要保持开通APMS应用的包名和应用包名保持一致。应用包名的查询方法,请参考查看应用信息。
- 调试阶段,应用需要使用调试证书与Profile打包签名,才能正常上报异常。
- 检查手机系统版本是否是HarmonyOS 5.0.0 Release及以上版本。
- 通过日志排查是否上报,或者手动上报,查看管理台数据。
- 如果是刚创建的应用,后台需要6小时准备资源,请等待6小时后再前往AppGallery Connect查看应用崩溃情况。后续产生的崩溃数据将可实时在AppGallery Connect查看。
更多关于HarmonyOS 鸿蒙Next中log日志,线上版本的App是否可以查看到的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
楼主第一个问题线上版本日志是否可见?
- LOG版本系统默认开启日志落盘—这个是默认保存到本地文件,可通过hdc shell hilog或DevEco Studio实时查看日志。Nolog版本是默认关闭日志落盘,需手动开启日志保存功能。
- Debug应用默认允许输出所有级别的日志。而Release应用默认过滤Info及以下级别的日志,需在代码中主动开启日志输出。
楼主第二个查看线上日志的配置方法?
在Release版本中查看日志先检查并设置日志输出权限:
import hilog from '@kit.ArkTS';
if (hilog.isLoggable(0x3200, 'myTag', hilog.LogLevel.INFO)) {
hilog.info(0x3200, 'myTag', 'This is an info log');
}
在设备层开启日志落盘(这个是针对Nolog版本设备):
hdc shell hilog -r # 清除缓冲区
hdc shell hilog -G 2M -t app # 设置日志缓冲区大小为2MB
DevEco Studio连接设备后,在工具底部选择 Log 标签页,直接查看实时日志。导出设备中的落盘日志文件(一版位于 /data/log/hilog/),通过 HiLogTool 解析离线日志。
楼主想要获取日志的话可以自己实现一套日志框架来处理,不推荐线上后将日志输出出去,对于保密项目容易造成事故,
解决方案:
- 优化日志工具架构
为项目的日志工具添加本地加密存储功能,将本地的日志存储为压缩包为需要时处理
- 建立线上传输日志功能
自己搭建日志文件传输当线上出现问题时将日志传输到服务再到本地解密使用,日志文件不需要一直传输,通畅的日志文件体积都会很大
在HarmonyOS Next中,线上发布的App默认无法直接查看完整log日志。正式环境的日志输出受到严格限制,开发者需要通过华为AGC(AppGallery Connect)的"崩溃分析"服务查看部分错误日志。系统级日志需使用Hiview工具,但需要设备root权限或特殊授权。应用自身的Debug日志在release模式下会被自动过滤,仅保留ERROR级别日志。若需线上诊断,必须提前集成HiLog SDK并配置远程日志收集功能。
在HarmonyOS Next中,线上版本的App默认无法直接查看log日志。出于安全和隐私考虑,正式发布的App会自动关闭调试日志输出功能。
如果您需要分析线上问题,建议采用以下方案:
- 使用HiLog日志系统,通过配置不同的日志级别来控制输出
- 集成华为AGC(AppGallery Connect)的崩溃分析服务,可以收集线上崩溃日志
- 开发时自行实现日志上报机制,将关键日志上传到服务器
在DevEco Studio中查看日志需要满足:
- 必须是调试版本
- 设备已开启USB调试模式
- 通过hdc命令行工具或DevEco Studio的Logcat窗口查看
正式发布的应用建议通过远程日志收集方案来获取运行日志,而不是直接输出到控制台。