鸿蒙系统 hilog 使用指南
鸿蒙系统 hilog 使用指南(新手笔记)
适用对象:刚接触鸿蒙日志、需要抓日志排障的新人
文档定位:照着敲就能抓到日志 + 随时查的命令速查 + 踩坑记录
配套文档:hdc 环境配置(hilog 经 hdc 跑)· wukong 测试(日志分析配 wukong)
一、hilog 是什么(30 秒理解)
hilog 是鸿蒙系统统一的日志系统,相当于 Android 的 logcat。
- 设备端:
hilog命令实时查看/过滤系统与应用日志(系统自带,进hdc shell就能用) - PC 端:
hilogtool解析工具,把设备落盘的二进制 gz 日志转成明文(在 SDK 里)
一句话记忆法:hilog = 鸿蒙版 logcat;在线看用
hilog,离线分析用hilogtool。
二、先搞懂三个核心概念(过滤全靠它们)
| 概念 | 含义 | 举例 |
|---|---|---|
| 级别 Level | 日志严重程度,5 级 | D < I < W < E < F(Debug/Info/Warn/Error/Fatal) |
| 域 Domain | 业务领域编号,范围 0x0000~0xFFFFF |
0xD000 应用层、0x0001 内核等 |
| 标签 Tag | 调用所在类/业务的字符串标识 | Wukong、MyAbility |
过滤本质就是拿这三个维度去"筛"日志。新手最常问的"只看报错"= 按级别筛
E/F。
五种级别速记
D DEBUG 开发调试细节(发布版通常关闭)
I INFO 重要业务信息
W WARN 潜在问题警告
E ERROR 错误(必看)
F FATAL 致命错误(崩溃级)
三、工具从哪来
| 工具 | 位置 | 说明 |
|---|---|---|
hilog |
设备系统自带 | hdc shell 里直接用,无需安装 |
hilogtool |
PC 端 HarmonyOS SDK 的 hms/toolchains 目录 |
离线解析落盘日志用,需配 PATH |
解析工具的 PATH 配置和 hdc 一模一样,把
hms/toolchains目录加进 Path(Windows)或~/.bashrc(Linux),重启终端即可。
四、hilog 命令参数速查表
不同版本参数略有差异,以设备上
hilog -h实际输出为准。下表为常用稳定项。
| 短选项 | 长选项 | 含义 | 示例 |
|---|---|---|---|
-h |
--help |
帮助 | hilog -h |
-L |
--level |
按级别过滤(D/I/W/E/F) | hilog -L E |
-D |
--domain |
按域过滤(十六进制) | hilog -D 0xD000 |
-T |
--tag |
按标签过滤 | hilog -T Wukong |
-t |
--tail |
只显示最后 N 行 | hilog -t 200 |
-b |
--buffer |
指定缓冲区(main/crash…) | hilog -b crash |
-v |
--format |
输出格式(time/threadtime/color…) | hilog -v threadtime |
-c |
--clear |
清除日志缓冲区 | hilog -c |
-g |
--buffer-size |
查询缓冲区大小 | hilog -g |
-G |
--buffer-size-set |
设置缓冲区大小 | hilog -G 1M |
-x |
--filter |
扩展组合过滤(字段:值) |
见下方说明 |
-f |
--file |
写日志到文件 | hilog -w start -f /data/... |
-w |
--write |
落盘写模式(start/stop) | hilog -w start |
-s |
--statistics |
显示日志统计 | hilog -s |
-S |
--statistics-reset |
重置统计 | hilog -S |
| — | --no-color |
关闭彩色输出 | hilog --no-color |
| — | --no-privacy |
关闭隐私掩码(root,慎用) | hilog --no-privacy |
-x扩展过滤支持字段:值形式(如按 pid、进程名等组合),具体字段以hilog -h为准,常用于精细筛选。
五、新手直接抄的实战模板
以下命令默认已
hdc shell进入设备;也可写成hdc shell "hilog -L E"一行执行。
# 1. 实时全量日志(不停刷,Ctrl+C 退出)
hilog
# 2. 只看 Error 及以上(排障最常用)
hilog -L E
# 3. 只看某个标签(如 wukong 测试日志)
hilog -T Wukong
# 4. 按域过滤(只看应用层 0xD000)
hilog -D 0xD000
# 5. 组合:Error 级 + 指定标签
hilog -L E -T MyTag
# 6. 只看最后 200 行(快速回看)
hilog -t 200
# 7. 查看崩溃缓冲区(查 crash / appfreeze)
hilog -b crash
# 8. 带线程时间的格式化输出(定位更清晰)
hilog -v threadtime
# 9. 配合 wukong:只看压测相关日志
hilog | grep -i wukong
# 10. 清掉历史日志再抓(避免干扰)
hilog -c
hilog -L E
# 11. 看当前日志量统计
hilog -s
落盘到设备文件(想保存下来慢慢看)
# 开始记录
hilog -w start -f /data/local/tmp/mylog.txt
# ... 此时去操作设备 / 跑 wukong ...
# 停止记录
hilog -w stop
# 把文件拉回 PC
hdc file recv /data/local/tmp/mylog.txt ./mylog.txt
⚠️ 自定义文件名落盘可能导致
hilogtool解析失败(需 hilogtool 1.0.0b+)。新手建议直接用系统默认落盘路径/data/log/hilog(见下一节),不要手动-w -f。
六、离线日志导出与解析(hilogtool)
鸿蒙会把日志自动落盘到设备 /data/log/hilog 目录,但格式是编码后的二进制 gz,直接解压看不到明文,必须用 hilogtool 解析。
注意:在线
hilog查看不受影响;只有导出的 gz 文件需要解析。kmsg 日志不受影响,可直接看。
标准流程(强烈推荐用脚本,见下)
# 1. 把设备日志目录整个导出到 PC 当前目录
hdc file recv /data/log/hilog/ ./hilog_logs
# 2. 用 hilogtool 解析(自动匹配同目录下的数据字典)
hilogtool parse -i ./hilog_logs -d ./hilog_logs
# 3. 解析后同目录生成明文日志,直接打开查看
解析命令参数
| 选项 | 含义 | 示例 |
|---|---|---|
-i/--input |
输入目录或文件(缺省=当前目录) | hilogtool parse -i ./hilog_logs |
-o/--output |
输出目录(缺省=原日志所在目录) | hilogtool parse -i .\ -o D:\temp |
-d/--dict |
数据字典路径(缺省=当前目录匹配最新字典) | hilogtool parse -i .\ -d .\dict.zip |
-h |
帮助 | hilogtool -h |
-v |
版本 | hilogtool -v |
关键:数据字典(hilog_dict*.zip)
- 设备
/data/log/hilog下自动生成,形如hilog_dict.20240908-142200.zip - 解析时必须带上它,否则部分日志解析失败
- 重启设备会重新生成字典
- 转发他人日志时,建议解析后再发,或把 gz + 字典一起发
一键脚本(导出即解析)
Windows get_hilog.bat:
@set Ymd=%date:~0,4%_%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%
@set Ymd=%Ymd: =0%
@set Dir=LOG_%Ymd%
md %Dir%
hdc file recv /data/log/hilog/ .\%Dir%\
hilogtool parse -i .\%Dir% -d .\%Dir%
pause
Linux/macOS get_hilog.sh:
Ymd=$(date "+%Y_%m%d_%H%M%S")
Dir=LOG_$Ymd
mkdir $Dir
hdc file recv /data/log/hilog/ ./$Dir/
./hilogtool parse -i ./$Dir -d ./$Dir
七、与 wukong 配合(实战闭环)
跑稳定性压测时,日志是发现问题的主要证据:
# 终端 A:跑 wukong
hdc shell
wukong exec -b com.example.myapp -a 0.3 -t 0.7 -T 30
# 终端 B:实时盯 wukong 相关日志(崩溃/异常一目了然)
hdc shell hilog | grep -i wukong
# 或只看 Error 级
hdc shell hilog -L E | grep -i wukong
# 压测结束:导出离线日志留证
hdc file recv /data/log/hilog/ ./wukong_logs
hilogtool parse -i ./wukong_logs -d ./wukong_logs
重点关注异常关键字:
JS Crash、CPP Crash、AppFreeze、Resource Leak、App Killed。
八、⚠️ 新手必踩的 6 个坑
- 直接解压 gz 看不到日志 → 那是二进制编码日志,必须用
hilogtool parse解析。 - 解析报 “no hilog dict zip” → 没把数据字典一起导出,或没用
-d指定。导出时连hilog_dict*.zip一起recv。 - 部分日志解析失败(错误码 300) → 替换过 bin/so 调试,字典不匹配。执行
hilog -d /system/bin/你的程序增量生成字典,或重启设备。 - 日志里参数被
****遮住 → 这是隐私脱敏。root 下用hilog --no-privacy看明文(涉及隐私,谨慎使用)。 - 缓冲区满、前面日志丢了 → 用
hilog -G 1M调大缓冲区再抓。 - 手动
-w -f自定义文件名,hilogtool 解析不了 → 升级 hilogtool 到 1.0.0b+,或直接用系统默认/data/log/hilog落盘。
记忆口诀:在线 hilog 直接看,落盘 gz 要 tool 解;解析少不了 dict 字典。
九、标准作业流(SOP)
1. hdc shell 进设备(hdc 已配好,见配套文档)
2. hilog -c 先清历史
3. hilog -L E 实时看错误(或跑 wukong 时另开终端 grep)
4. 发现异常 → hilog -b crash 看崩溃缓冲
5. 需离线分析 → hdc file recv /data/log/hilog/ ./logs
6. hilogtool parse -i ./logs -d ./logs 转明文
7. 打开明文日志定位问题
十、一句话速记卡(贴显示器上)
hilog = 鸿蒙版 logcat
级别: D<I<W<E<F (Debug/Info/Warn/Error/Fatal)
过滤: -L 级别 -D 域 -T 标签 -t 行数 -b crash
hilog -L E 只看报错
hilog -T Wukong 只看某标签
hilog -c 清屏
hdc shell hilog | grep wukong 配合压测
落盘日志在 /data/log/hilog(二进制 gz)
hilogtool parse -i 目录 -d 目录 转明文
解析必带数据字典 hilog_dict*.zip
参考来源
- 华为开发者文档:HiLog 开发指导(级别/domain/tag)
- 华为设备开发文档:hilogtool 调试命令(离线解析)
更多推荐




所有评论(0)