HarmonyOS Next 日记工具介绍

打印 上一主题 下一主题

主题 805|帖子 805|积分 2425

HarmonyOS Next 日记工具介绍

在HarmonyOS Next开发中,日记是我们调试定位问题的主要手段,不管是hilog还是console,最终都可以输出到DevEco Studio的日记模块中:

在这里可以过滤应用历程、日记级别、日记内容呢,也可以便捷的搜刮。但是在一些场景,日记较多,刷新较快时,我们希望日记可以输出到文件,在Android中提供了logcat命令工具帮助我们将日记输出到控制台或者文件,HarmonyOS Next也提供了类似的工具hilog。
hilog工具介绍

HiLog日记系统,提供给系统框架、服务、以及应用,用于打印日记,记录用户操纵、系统运行状态等。开发者可以通过hilog命令行查询相关日记信息。
当我们安装DevEco Studio IDE或者安装HarmonyOS SDK后,将hdc命令工具配置到情况变量后就可以直接利用hdc命令进入手机的shell中:
  1. hdc shell
复制代码

进入shell后就可以开始执行hilog命令了:

我们发现日记刷的特别快,还不如DevEco Studio中的日记工具,怎么办?给hilog加参数。
hilog命令参数说明:
短选项长选项参数说明-h–help帮助命令。缺省缺省阻塞读日记,不退出。-x–exit非阻塞读日记,读完退出。-g查询buffer的大小,配合-t指定某一类型利用,默认app和core。-G–buffer-size设置指定日记类型缓冲区的大小,配合-t指定某一类型利用,默认app和core, 可利用B/K/M为单位,范围为64K-16M。-r清除buffer日记,配合-t指定某一类型利用,默认app和core。-k<on/off>Kernel日记读取开关控制。on打开读取kernel日记。off关闭读取kernel日记。-s–statistics查询统计信息,需配合-t或-D利用。-S清除统计信息,需配合-t或-D利用。-Q流控缺省配额开关控制。pidon历程流控开关打开。pidoff历程流控开关关闭。domainondomain流控开关打开。domainoffdomain流控开关关闭。-L–level指定级别的日记,示例:-L D/I/W/E/F。-t–type指定类型的日记,示例:-t app/core/init/only_prerelease。app为应用日记,core为系统日记,init为启动日记,only_prerelease为仅在系统release版本前打印的日记,应用开发者无需关注。-D–domain指定domain。-T–tag指定tag。-a–head只体现前行日记。-z–tail只体现后行日记。-P–pid标识不同的pid。-e–regex只打印日记消息与匹配的行,其中是一个正则表达式。-f–filename设置落盘的文件名。-l–length设置落盘的文件大小,必要大于等于64K。-n–number设置落盘文件的个数。-j–jobid设置落盘使命的ID。-w–write落盘使命控制。query落盘使命查询。start落盘使命开始,命令行参数为文件名、单文件大小、落盘算法、rotate文件数量。stop落盘使命停止。refresh刷新缓冲区的日记到落盘文件。clear删除已经落盘的日记文件。-m–stream落盘方式控制。none无压缩方式落盘。zlibzlib压缩算法落盘,落盘文件为.gz。zstdzstd压缩算法落盘,落盘文件为.zst。-v–formattime体现当地时间。color体现不同级别体现不同颜色,参数缺省级别颜色模式处置惩罚(按好坏方式)。epoch体现相对1970时间。monotonic体现相对启动时间。usec体现微秒精度时间。nsec体现纳秒精度时间。year体现将年份添加到体现的时间。zone体现将当地时区添加到体现的时间。wrap日记换行体现时,新行不增加时间戳等前缀。-b–baselevel设置可打印日记的最低等级:D(DEBUG)/I(INFO)/W(WARN)/E(ERROR)/F(FATAL)。 参数配置实践

清除缓冲区日记

一般日记都有缓存区,我们在开始启动应用预备观察日记时为了屏蔽之前的日记缓存干扰,可以执行清除缓存命令:
  1. $ hilog -r
  2. Log type core,app,only_prerelease buffer clear successfully
复制代码
内核日记读取开关控制

在应用调试时一般不必要内核日记,可以通过hilog -k on/off开启或关闭内核日记:
  1. $ hilog -k on
  2. Set hilogd storing kmsg log on successfully
  3. $
  4. $ hilog -k off
  5. Set hilogd storing kmsg log off successfully
复制代码
查看指定级别日记

  1. hilog -L D/I/W/E/F
复制代码
查看指定类型日记

  1. hilog -t app
复制代码

查看指定domain日记

  1. hilog -D 01B06
复制代码
查看指定TAG日记

  1. hilog -T tag
复制代码
查看指定历程日记

  1. hilog -P pid
复制代码

查看符合正则匹配关键字的日记

  1. hilog -e start
复制代码
查看、设置落盘使命

  1. hilog -w control
复制代码


  • 查询当前使命: hilog -w query
  • 开启hilog落盘使命,而且设置落盘文件数量为1000个: hilog -w start -n 1000
  • 开启kmsglog落盘使命,而且设置落盘文件数量为100个: hilog -w start -n 100 -t kmsg
  • 停止当前落盘使命: hilog -w stop
  • 开启kmsglog落盘使命,而且设置落盘规则,其中压缩方式可以为zlib,zstd,none。以设置规则为例:文件名为kmsglog,大小为2M,数量为100个, 其压缩方式为zlib压缩,命令举动: hilog -w start -t kmsg -f kmsglog -l 2M -n 100 -m zlib
示例:
  1. $ hilog -w query
  2. Persist task query failed
  3. No running persistent task [CODE: -63]
  4. $
  5. $ hilog -w start -n 1000
  6. Persist task [jobid:1][fileNum:1000][fileSize:4194304] start successfully
  7. $
  8. $ hilog -w start -n 100 -t kmsg
  9. Persist task [jobid:2][fileNum:100][fileSize:4194304] start successfully
  10. $
  11. $ hilog -w stop
  12. Persist task [jobid:1] stop successfully
  13. Persist task [jobid:2] stop successfully
  14. $
  15. $ hilog -w start -t kmsg -f kmsglog -l 2M -n 100 -m zlib
  16. Persist task [jobid:2][fileNum:100][fileSize:2097152] start successfully
复制代码
设置日记体现格式

  1. hilog -v time/color/epoch/monotonic/usec/nsec/year/zone/wrap
复制代码


这个格式设置对于我们控制台查看日记还是很方便的。
设置可打印日记的最低等级

  1. hilog -b D/I/W/E/F
复制代码
有时候明显打印了日记,但是看不到,大概就是因为设置了这个。
hilogtool工具介绍

现在hilog日记为编码后二进制形式生存的gz格式文件,开发者从装备/data/log/hilog路径下导出后无法直接解压查看,必要利用hilogtool工具进行剖析,将转换为明文hilog日记。

hilogtool工具位于SDK的hms/toolchains目录下,利用方法如下:


  • 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
  • hilogtool
总结

利用 hilog 和 hilogtool 可以帮助开发者更好地理解和调试应用步调,尤其是在遇到问题时,它们提供了一个查看已往事件和错误的方式。然而,由于这些工具和系统是特定于 Huawei 的 HarmonyOS 平台,因此大概不适用于其他操纵系统或平台。
假如你正在利用 HarmonyOS 开发应用步调,而且必要记录和分析日记信息,相识 hilog 和 hilogtool 将非常有帮助。假如你在其他平台上工作,你大概必要探求类似的工具和方法来管理你的日记。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

篮之新喜

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表