鸿蒙HarmonyOS NEXT开发(5.0)hilogtool日志

 鸿蒙HarmonyOS开发实战往期必看文章:(持续更新......)

HarmonyOS NEXT应用开发性能实践总结(持续更新......)

HarmonyOS NEXT应用开发案例实践总结合集(持续更新......)

一分钟了解”纯血版!鸿蒙HarmonyOS Next应用开发!

最新版!“非常详细的” 鸿蒙HarmonyOS Next应用开发学习路线!(从零基础入门到精通)


使用场景

当前hilog日志为编码后二进制形式保存的gz格式文件,开发者从设备/data/log/hilog路径下导出后无法直接解压查看,需要使用hilogtool工具进行解析,将转换为明文hilog日志。

说明

当前机制下:kmsg日志不受影响,可直接查看;hilog日志,在shell窗口直接使用hilog命令在线查看日志,不受影响。

使用指导

工具获取

下载HarmonyOS SDK(开源、闭源合一包),取对应平台 hms/toolchains目录下的hilogtool.exe,下面以windows平台为例:

环境配置

Windows环境变量设置方法

在此电脑 > 属性 > 高级系统设置 > 高级 > 环境变量 > Path > 编辑 中,将hilogtool.exe所在路径添加到 Path,环境变量配置完成后,请重启电脑,即可在cmd 窗口执行hilogtool命令。

MacOS环境变量设置方法

1)打开终端工具,执行以下命令,根据输出结果分别执行不同命令。

echo $SHELL

a. 如果输出结果为/bin/bash,则执行以下命令,打开.bash_profile文件。

vi ~/.bash_profile

b. 如果输出结果为/bin/zsh,则执行以下命令,打开.zshrc文件。

vi ~/.zshrc

2) 单击字母“i”,进入Insert模式。

3) 输入以下内容,添加PATH信息。

export PATH=$PATH:/path/to/your/hilogtool

4) 编辑完成后,单击Esc键,退出编辑模式,然后输入“:wq”,单击Enter键保存。

5) 执行以下命令,使配置的环境变量生效。

a. 如果步骤a时打开的是.bash_profile文件,请执行如下命令:

source ~/.bash_profile

b. 如果步骤a时打开的是.zshrc文件,请执行如下命令:

source ~/.zshrc

6) 环境变量配置完成后,重启电脑。

使用方法

命令:

hilogtool parse -i xxx -o xxx -d xxx

hilogtool parse –-input xxx –-output xxx --dict xxx

解析命令参数列表:

选项

描述

举例

-i/–-input inputDir

用于指定输入路径,会扫描该目录下所有的hilog流水日志文件并进行解析;

缺省时,为命令行当前所在路径;

解析指定目录(D:\temp\hilog)下的所有hilog文件:

hilogtool parse -i D:\temp\hilog

解析当前目录下的所有hilog文件:

hilogtool parse -i .\

-i/–-input inputFile

解析指定的单个hilog文件

解析指定的hilog文件:

hilogtool parse -i D:\temp\data\log\hilog.706.20230711-071816.gz

hilogtool parse -i .\hilog.706.20230711-071816.gz

-o/–-output outputDir

用于指定输出路径,即解析后的日志文件保存路径;

缺省时,为解析的hilog原日志文件所在路径;

解析当前目录下的日志文件到D:\temp目录:

hilogtool parse -i .\ -o D:\temp

-d/--dict dictFile

用于指定数据字典的路径;

缺省时,会在命令行当前所在路径下匹配最新的数据字典文件(格式:hilog_dict.20230908-142200.zip)

解析指定目录(D:\temp\hilog)下的所有hilog文件,并且指定使用该目录下的数据字典:

hilogtool parse -i D:\temp\hilog -d D:\temp\hilog\hilog_dict.20230908-142200.zip

说明

数据字典文件在data/log/hilog目录下,格式为:hilog_dict.2024xxxx-xxxxxx.zip,是设备启动时自动生成的,在解析日志时需要这个文件。

若缺少数据字典,会导致部分日志解析失败;重启设备可以重新生成该数据字典。

常用解析命令示例

解析当前目录下所有的hilog文件(推荐)

在当前日志所在目录,通过cmd进入shell窗口,在shell窗口直接执行hilogtool parse,即可进行解析操作,如下图:

解析指定目录下的hilog文件

hilogtool parse -i D:\09-temp\dict-test -d D:\09-temp\dict-test

解析单个hilog文件

hilogtool parse -i D:\09-temp\dict-test\hilog.025.20231020-154659.gz -d D:\09-temp\dict-test

自动化脚本

自动化调试脚本,将脚本与hilogtool工具放在同一目录下,执行get_hilog.bat,脚本会导出设备中的data/log/hilog日志,并且自动解析生成明文日志。

windows平台脚本

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

脚本运行结果:

mac平台脚本

mac平台脚本内容参考:

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

可能有影响的场景

自动化分析日志

部分领域涉及到自动化分析/data/log/hilog目录下的明文日志文件,目前hilog轻量化后,日志以二进制保存,需要适配一下自动化反编译二进制日志动作。

日志转发他人

直接从手机/data/log/hilog目录下recv出来的日志文件为二进制日志文件,直接发送给他人,无法正常查看,建议解析后再发送,或者将二进制日志文件与数据字典一同转发。

错误码

错误码

含义

处理方法

200

解码成功

不涉及

300

解码失败,存在部分领域的日志和字典不匹配

1、只有部分日志解析失败,一般不影响开发自调试,可不用关注

2、若影响自调试,可参考下方常见问题,增量生成数据字典

500

解析工具版本不匹配

更新hilogtool解析工具版本

999

日志是明文落盘的,不需要解析

不涉及

常见问题

工具解析时,显示 there is no hilog dict zip in xxx, use -d to specify ,或者 open dict xxx fail, errno is: No such file or directory

解析完的日志中,显示 OpenUuidFile fail, unknown log, uuid is: xxxxxx

原因:

解析日志时,未找到对应的数据字典导致的,可能有三个原因。

1、解析命令使用错误,具体参考常用解析命令示例

2、开发本地替换bin/so调试的场景,需要触发生成新的数据字典,才能解析,以下触发命令三选一即可。

(1)使用增量生成数据字典命令:hilog -d xxx

例如推送hilog相关测试程序bin文件hilogTest到 /system/bin/下面,想查看hilogTest打印的日志,需要执行以下命令,增量生成hilogTest的数据字典:

hdc shell hilog -d /system/bin/hilogTest

数据字典生成成功后hilogTest则可以正常打印日志。

(2)重启hilogd:service_control stop hilogd && service_control start hilogd

(3)重启设备;

3、数据字典被删掉了,检查导出的日志中是否存在hilog_dict.2024xxxx-xxxxxx.zip格式的数据字典文件

若不存在,则大概率是被 rm -rf data/log/hilog/* 命令删除掉了,需要重启设备生成新的数据字典,然后解析。

最后

小编在之前的鸿蒙系统扫盲中,有很多朋友给我留言,有很多小伙伴不知道学习哪些鸿蒙开发技术?不知道需要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。所以有一份实用的鸿蒙(HarmonyOS NEXT)路线图、学习视频、文档用来跟着学习是非常有必要的。 

如果你是一名有经验的资深Android移动开发、Java开发、前端开发、对鸿蒙感兴趣以及转行人员

鸿蒙 NEXT 全栈开发学习笔记  希望这一份鸿蒙学习文档能够给大家带来帮助~

这份鸿蒙(HarmonyOS NEXT)包含了鸿蒙开发必掌握的核心知识要点,内容包含了(ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、(南向驱动、嵌入式等)鸿蒙项目实战等等)鸿蒙(HarmonyOS NEXT)技术知识点。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值