首页 > 其他分享 >鸿蒙HarmonyOS实战开发:hilog命令行查询

鸿蒙HarmonyOS实战开发:hilog命令行查询

时间:2024-11-19 16:17:16浏览次数:3  
标签:鸿蒙 -- 08 28 落盘 HarmonyOS hilog 日志

 鸿蒙NEXT开发实战往期必看文章:

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

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

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

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


HiLog日志系统,提供给系统框架、服务、以及应用,用于打印日志,记录用户操作、系统运行状态等。开发者可以通过hilog命令行查询相关日志信息。

前置条件

  • 根据hdc命令行工具指导,完成环境准备

  • 正常连接设备。

命令行说明

hilog命令行使用方式:

短选项长选项参数说明
-h--help帮助命令。
缺省缺省阻塞读日志,不退出。
-x--exit非阻塞读日志,读完退出。
-g查询buffer的大小,配合-t指定某一类型使用,默认app和core。
-G--buffer-size<size>设置指定<type>日志类型缓冲区的大小,配合-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<control-type>流控缺省配额开关控制。
pidon进程流控开关打开。
pidoff进程流控开关关闭。
domainondomain流控开关打开。
domainoffdomain流控开关关闭。
-L--level<level>指定级别的日志,示例:-L D/I/W/E/F。
-t--type<type>指定类型的日志,示例:-t app core init。
-D--domain<domain>指定domain。
-T--tag<tag>指定tag。
-a--head<n>只显示前<n>行日志。
-z--tail<n>只显示后<n>行日志。
-P--pid<pid>标识不同的pid。
-e--regex<expr>只打印日志消息与<expr>匹配的行,其中<expr>是一个正则表达式。
-f--filename<filename>设置落盘的文件名。
-l--length<length>设置落盘的文件大小,需要大于等于64K。
-n--number<number>设置落盘文件的个数。
-j--jobid<jobid>设置落盘任务的ID。
-w--write<control>落盘任务控制。
query落盘任务查询。
start落盘任务开始,命令行参数为文件名、单文件大小、落盘算法、rotate文件数目。
stop落盘任务停止。
refresh刷新缓冲区的日志到落盘文件。
clear删除已经落盘的日志文件。
-m--stream<algorithm>落盘方式控制。
none无压缩方式落盘。
zlibzlib压缩算法落盘,落盘文件为.gz。
zstdzstd压缩算法落盘,落盘文件为.zst。
-v--format<format>
time显示本地时间。
color显示不同级别显示不同颜色,参数缺省级别颜色模式处理(按黑白方式)。
epoch显示相对1970时间。
monotonic显示相对启动时间。
usec显示微秒精度时间。
nsec显示纳秒精度时间。
year显示将年份添加到显示的时间。
zone显示将本地时区添加到显示的时间。
-b--baselevel<loglevel>设置可打印日志的最低等级:D(DEBUG)/I(INFO)/W(WARN)/E(ERROR)/F(FATAL)。

常用命令

查看帮助命令。

hilog -h

使用样例:

 $ hilog -h
 Usage:
 -h --help
   Show all help information.
   Show single help information with option:
   query/clear/buffer/stats/persist/private/kmsg/flowcontrol/baselevel/domain/combo
 Querying logs options:
   No option performs a blocking read and keeps printing.
   -x --exit
     Performs a non-blocking read and exits when all logs in buffer are printed.
   -a <n>, --head=<n>
     Show n lines logs on head of buffer.
   -z <n>, --tail=<n>
     Show n lines logs on tail of buffer.

查看日志缓冲区大小。

hilog -g

使用样例:

$ hilog -g
Log type app buffer size is 16.0M
Log type init buffer size is 16.0M
Log type core buffer size is 16.0M
Log type only_prerelease buffer size is 16.0M

修改日志缓冲区大小。

hilog -G size

使用样例:

$ hilog -G 16M
Set log type app buffer size to 16.0M successfully
Set log type init buffer size to 16.0M successfully
Set log type core buffer size to 16.0M successfully
Set log type only_prerelease buffer size to 16.0M successfully

进程流控开关。

hilog -Q pidon/pidoff

使用样例:

$ hilog -Q pidon
Set flow control by process to enabled successfully
$
$ hilog -Q pidoff
Set flow control by process to disabled successfully

domain流控开关。

hilog -Q domainon/domainoff

使用样例:

$ hilog -Q domainon
Set flow control by domain to enabled successfully
$
$ hilog -Q domainoff
Set flow control by domain to disabled successfully

查看指定级别日志。

hilog -L D/I/W/E/F

使用样例:

$ hilog -L E
08-28 09:01:25.730  2678  2678 E A00F00/com.huawei.hmos.aidataservice/AiDataService_5.10.7.320: DataChangeNotifyManager: notifyDataChange CommonEntity no valid entity to notify
08-28 09:01:56.058  8560  8560 E A00500/com.ohos.settingsdata/SettingsData: DB not ready request = datashare:///com.ohos.settingsdata/entry/settingsdata/SETTINGSDATA?Proxy=true&key=analysis_service_switch_on , retry after DB startup
08-28 09:01:56.082  8560  8560 E A00500/com.ohos.settingsdata/SettingsData: decoder failure: /data/migrate/settings_global.xml , error code:-1
08-28 09:01:56.082  8560  8560 E A00500/com.ohos.settingsdata/SettingsData: clearXml failed:No such file or directory, error code:13900002
08-28 09:01:56.083  8560  8560 E A00500/com.ohos.settingsdata/SettingsData: readText failed:No such file or directory, error code:13900002
08-28 09:01:56.371  8586  8586 E A00500/com.ohos.settingsdata/SettingsData: DB not ready request =    datashare:///com.ohos.settingsdata/entry/settingsdata/SETTINGSDATA?Proxy=true&key=photo_network_connection_status , retry after DB startup
08-28 09:01:56.408  8586  8586 E A00500/com.ohos.settingsdata/SettingsData: decoder failure: /data/migrate/settings_global.xml , error code:-1

查看指定TAG日志。

hilog -T tag

使用样例:

$ hilog -T SAMGR
08-28 09:27:59.581   610 11504 I C01800/samgr/SAMGR: CommonEventCollect save extraData 1661
08-28 09:27:59.581   610 11504 I C01800/samgr/SAMGR: OnReceiveEvent get action: usual.event.BATTERY_CHANGED code: 0, extraDataId 1661
08-28 09:27:59.582   610 11504 I C01800/samgr/SAMGR: DoEvent:4 name:usual.event.BATTERY_CHANGED value:0
08-28 09:27:59.582   610 11504 W C01800/samgr/SAMGR: LoadSa SA:10120 AddDeath fail,cnt:1,callpid:610
08-28 09:27:59.583   610 11504 I C01800/samgr/SAMGR: LoadSa SA:10120 size:1,count:1
08-28 09:27:59.601   610 11504 I C01800/samgr/SAMGR: Scheduler SA:10120 loading
08-28 09:27:59.965 11518 11518 I C01800/media_analysis_service/SAMGR: SA:10120 OpenSo spend 315ms
08-28 09:27:59.965   610  4064 I C01800/samgr/SAMGR: AddProc:media_analysis_service. size:75

查看指定进程日志。

hilog -P pid

使用样例:

$ hilog -P 618
08-28 10:19:16.872   618 17729 I C02D15/hiview/XPower: [task_52]#current system load is: 0.028767
08-28 10:19:23.997   618 17580 I C02D10/hiview/CpuCollector: CalculateProcessCpuStatInfos: startTime=1724811553746, endTime=1724811563996, startBootTime=47001084, endBootTime=47011335, period=10251
08-28 10:19:23.999   618 17580 I C02D10/hiview/CpuCollector: CollectProcessCpuStatInfos: collect process cpu statistics information size=234, isNeedUpdate=1
08-28 10:19:24.002   618 17580 W C01650/hiview/Rdb:  DB :
08-28 10:19:24.002   618 17580 W C01650/hiview/Rdb:  device: 12583051 inode: 40230 mode: 432 size: 569344 natime: Wed Aug 28 00:00:06 2024
08-28 10:19:24.002   618 17580 W C01650/hiview/Rdb:  smtime: Wed Aug 28 00:34:30 2024
08-28 10:19:24.002   618 17580 W C01650/hiview/Rdb:  sctime: Wed Aug 28 00:34:30 2024

查看、设置落盘任务。

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

使用样例:

$ hilog -w query
Persist task query failed
No running persistent task [CODE: -63]
$
$ hilog -w start -n 1000
Persist task [jobid:1][fileNum:1000][fileSize:4194304] start successfully
$
$ hilog -w start -n 100 -t kmsg
Persist task [jobid:2][fileNum:100][fileSize:4194304] start successfully
$
$ hilog -w stop
Persist task [jobid:1] stop successfully
Persist task [jobid:2] stop successfully

设置可打印日志的最低等级

hilog -b D/I/W/E/F

使用样例:

$ hilog -b E
Set global log level to E successfully

标签:鸿蒙,--,08,28,落盘,HarmonyOS,hilog,日志
From: https://blog.csdn.net/m0_67143533/article/details/143888212

相关文章

  • HarmonyOS-Chat聊天室|纯血鸿蒙Next5 api12聊天app|ArkUI仿微信
    自研原生鸿蒙NEXT5.0API12ArkTS仿微信app聊天模板HarmonyOSChat。harmony-wechat原创重磅实战纯血鸿蒙OSArkUI+ArkTs仿微信App聊天实例。包括聊天、通讯录、我、朋友圈等模块,实现类似微信消息UI布局、编辑器光标处输入文字+emo表情图片/GIF动图、图片预览、红包、语音/位置UI......
  • Taro首个支持鸿蒙的 UI 库,同时还兼容 React Native、小程序、H5
    Taro4.0已经推出一段时间了,4.0版本主要是支持了鸿蒙端的开发以及Vite编译工具的支持。duxapp在这段时间也跟随Taro的脚步,实现的对鸿蒙端的支持,并且也将之前的duxui这个多端的UI库,对鸿蒙端实现了兼容。duxui组件库提供了60+的组件支持,能快速帮助你完成业务。现在......
  • 鸿蒙开发Hvigor任务简介
    编译构建工具DevEcoHvigor(以下简称Hvigor)是一款基于TS实现的构建任务编排工具,主要提供任务管理机制,包括任务注册编排、工程模型管理、配置管理等关键能力,提供专用于构建和测试应用的流程和可配置设置。DevEcoStudio使用构建工具Hvigor来自动执行和管理构建流程,实现应用/服务构......
  • 鸿蒙项目实战(五):识别本地图片
    基本概念图片识码能力支持对图库中的码图进行扫描识别,并获取信息场景介绍图片识码能力支持对图库中的条形码、二维码、MULTIFUNCTIONALCODE进行识别,并获得码类型、码值、码位置信息该能力可用于一图单码和一图多码的识别,比如条形码、付款码等使用示例1、导入图片识码接......
  • 【Android、IOS、Flutter、鸿蒙、ReactNative 】绘制空心圆圈
    Androidjava绘制圆圈自定义CircleViewpackagecom.java.circle;importandroid.content.Context;importandroid.graphics.Canvas;importandroid.graphics.Paint;importandroid.view.View;publicclassCircleViewextendsView{privatePaintpaint;......
  • 【FAQ】HarmonyOS SDK 闭源开放能力 —Share Kit
    1.问题描述:使用系统分享组件分享本地文件,点击分享菜单下方的“另存为”将要分享的文件分享至系统文件管理中,在文件管理中查看分享进来的文件为0B。尝试了3种uri的写法都不行,代码如下:consturi=getContext().getApplicationContext().filesDir+'/xxx.json'consturi1='fi......
  • 鸿蒙之ArkTS基础入门
    前言:ArkTS:是一门用于开发鸿蒙应用的编程语言。编程语言:用来控制计算机工作的,可以告诉计算机我们要做的事情。编写代码→编译运行→查看效果输出语句:写法:console.log('消息说明','打印的内容')console.log('helloHarmony')@Entry@ComponentstructIndex{......
  • HarmonyOS Next 对称密钥生成全攻略:从原理到实践
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。一、引言在数据安全的浩瀚领域中,对称......
  • HarmonyOS Next 加解密算法框架入门:基础概念与功能概述
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。一、引言在当今数字化时代,信息安全犹......
  • HarmonyOS Next 椭圆曲线密码学应用:ECC 与 SM2 深入剖析
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。一、引言在现代密码学领域,椭圆曲线密......