- 系统自带:
hdc logcat(命令行)、HarmonyOS Studio Logcat 面板
- 第三方工具:ELK Stack(Elasticsearch+Logstash+Kibana)、Grafana Loki(轻量化)
- 保存常用筛选规则(如 “我的应用崩溃日志”),避免重复配置
- 结合应用包名筛选(
package:com.example.app),精准定位目标应用
- 找到 “高频出现的错误”(如同一崩溃日志出现 10 次)
- 识别 “异常模式”(如某接口调用后必现崩溃)
- 简易场景:HarmonyOS Studio Logcat 自带 “统计” 功能
- 复杂场景:Kibana 可视化图表(饼图 / 折线图展示聚合结果)
- 从 “现象日志”(如崩溃提示)反向追踪 “触发条件→关键步骤→代码位置”
-
解析错误栈日志
- 崩溃日志中会包含完整的调用链路(如
com.example.app.MainAbility.onStart(MainAbility.java:32))
- 直接定位到出错的代码行(如第 32 行的空指针调用)
-
追踪调用链
- 若日志包含 “请求 ID”(如
requestId:abc123),通过该 ID 聚合所有相关日志
- 还原流程:用户操作→接口调用→数据处理→错误触发
-
交叉验证
- 结合设备信息(
deviceId:xxx、系统版本 osVersion:4.0),判断是否为特定设备 / 版本的兼容性问题
- 对比正常日志与异常日志的差异(如正常流程有 “数据返回成功” 日志,异常流程缺失)
- 日志级别配置合理:开发环境可开 Debug 级,生产环境只开 Warn/Error 级(避免日志过多)
- 关键流程添加自定义日志:在接口调用、数据转换等关键步骤添加日志(如
Log.d("TAG", "登录请求参数:" + params)),便于定位
- 统一日志格式:使用 “时间戳 + 进程 ID + 关键词 + 自定义字段” 格式(如
2024-05-20 14:30:00 [pid:1234] [登录] 请求参数:xxx),方便筛选和聚合
- 保存关键日志:遇到问题后及时导出日志(Studio 中右键 “Export Log”),避免日志被覆盖
HarmonyOS 日志分析的核心是 “先筛后聚再定位”:
- 用筛选缩小范围,排除无关日志;
- 用聚合提炼规律,找到高频 / 异常问题;
- 用链路追踪,从日志反向定位代码根因。