为了让刚入门的鸿蒙开发者迅速掌握hilog工具的使用方法,特编写了该篇命令行使用手册供开发者查阅,让开发者在自己的的开发和调试的过程中充分认识hilog工具的优势和便捷。
一、查询日志
1.1、指定模块查询
-t
用于指定输出日志的类型/模块,目前系统共包含app/core/kmsg/init四种日志类型。
hilog -t app|core|kmsg|init
阻塞式实时查询模块日志,-t
可以与其他参数一起使用。
hilog -t app|core|kmsg|init -x
非阻塞式实时查询模块日志,-x
选项也可以和hilog的其他选项同时使用。
示例如下:
# hilog -t kmsg
01-01 00:00:03.909 0 0 I fffff/kmsg: Booting Linux on physical CPU 0x0
01-01 00:00:03.909 0 0 W fffff/kmsg: Linux version 5.10.79 (osm@ubuntu) (OHOS () clang version 10.0.1.480513 (llvm-project b2cadc87d64786377748bdb6bc5e6949492f01ab), GNU ld (Linaro_Binutils-2019.12) 2.28.2.20170706) #1 SMP Wed Apr 6 09:37:37 CST 2022
01-01 00:00:03.909 0 0 I fffff/[410fc075]: CPU: ARMv7 Processor revision 5 (ARMv7), cr=10c5387d
01-01 00:00:03.909 0 0 I fffff/kmsg: CPU: div instructions available: patching division code
01-01 00:00:03.909 0 0 I fffff/kmsg: CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
01-01 00:00:03.909 0 0 I fffff/kmsg: OF: fdt: Machine model: Hisilicon HI3516DV300 DEMO Board
01-01 00:00:03.909 0 0 I fffff/kmsg: Memory policy: Data cache writealloc
01-01 00:00:03.909 0 0 D fffff/kmsg: cma: dma_contiguous_reserve(limit ffffffff)
01-01 00:00:03.909 0 0 D fffff/kmsg: cma: dma_contiguous_reserve: reserving 64 MiB for global area
1.2、指定tag查询
-T
选项为指定tag。标签:用于指定日志标识,可以为任意字符串,建议标识调用所在的类或者业务行为。
hilog -t app|core|kmsg|init -T <tag>
模块内指定tag, -T
可以与其他参数一起使用。
hilog -T <tag>
只指定tag
示例如下:
# hilog -t core -T BatteryThread
01-02 02:10:03.771 725 820 I 02500/BatteryThread: UpdateBatteryInfo: BatteryInfo capacity=11, voltage=4123456, temperature=222, healthState=1, pluggedType=2, pluggedMaxCurrent=-1, pluggedMaxVoltage=-1, chargeState=3, chargeCounter=4000000, present=0, technology=Li-ion
01-02 02:10:03.771 725 820 I 02500/BatteryThread: UpdateBatteryInfo g_callback is nullptr
01-02 02:10:03.771 725 820 I 02500/BatteryThread: LoopingThreadEntry: timeout=-1, nevents=1
01-02 02:10:13.772 725 820 I 02500/BatteryThread: UpdateBatteryInfo: BatteryInfo capacity=11, voltage=4123456, temperature=222, healthState=1, pluggedType=2, pluggedMaxCurrent=-1, pluggedMaxVoltage=-1, chargeState=3, chargeCounter=4000000, present=0, technology=Li-ion
01-02 02:10:13.772 725 820 I 02500/BatteryThread: UpdateBatteryInfo g_callback is nullptr
01-02 02:10:13.772 725 820 I 02500/BatteryThread: LoopingThreadEntry: timeout=-1, nevents=1
01-02 02:10:23.772 725 820 I 02500/BatteryThread: UpdateBatteryInfo: BatteryInfo capacity=11, voltage=4123456,
# hilog -T BatteryThread
01-02 02:14:03.771 725 820 I 02500/BatteryThread: UpdateBatteryInfo: BatteryInfo capacity=11, voltage=4123456, temperature=222, healthState=1, pluggedType=2, pluggedMaxCurrent=-1, pluggedMaxVoltage=-1, chargeState=3, chargeCounter=4000000, present=0, technology=Li-ion
01-02 02:14:03.771 725 820 I 02500/BatteryThread: UpdateBatteryInfo g_callback is nullptr
01-02 02:14:03.771 725 820 I 02500/BatteryThread: LoopingThreadEntry: timeout=-1, nevents=1
01-02 02:14:13.772 725 820 I 02500/BatteryThread: UpdateBatteryInfo: BatteryInfo capacity=11, voltage=4123456, temperature=222, healthState=1, pluggedType=2, pluggedMaxCurrent=-1, pluggedMaxVoltage=-1, chargeState=3, chargeCounter=4000000, present=0, technology=Li-ion
1.3、指定level查询
-L
指定日志级别,HiLog中定义了DEBUG、INFO、WARN、ERROR、FATAL五种日志级别。
hilog -t app|core|kmsg|init -L D|I|W|E|F
模块内指定level查询,D:debug, I:info, W:warning, E:error, F:fatal。
hilog -L D|I|W|E|F
只指定level查询,可以与其他参数一起使用
示例如下:
# hilog -t app -L I
01-01 08:15:00.030 875 875 I 02200/JsApp: SystemUI_Default tag: TimeManager --> notifyTimeChange
01-01 08:15:00.031 875 875 I 02200/JsApp: SystemUI_Default tag: EventManager --> publish localEvent type: Time_Change_Event
01-01 08:16:00.031 875 875 I 02200/JsApp: SystemUI_Default tag: CommonEvent_TimeManager --> handle common event: usual.event.TIME_TICK
01-01 08:16:00.031 875 875 I 02200/JsApp: SystemUI_Default tag: TimeManager --> notifyTimeChange
01-01 08:16: