鸿蒙系统日志工具HiLog的使用方法!
做为一个 Java 攻城师, 我们除了关心系统的架构这种 high level 的问题,还需要了解一些语言的陷阱,异常的处理,以及日志的输出,这些"鸡毛蒜皮"的细节。

我们需要通过打印一条条日志来掌握程序运行的状态,下面我们就来讲解鸿蒙系统中的 HiLog 日志工具的具体使用方法。
01
HiLog 使用说明
①使用 HiLog 前必须在 HiLog 的一个辅助类 HiLogLabel 中定义日志类型、服务域和标记。
static?final?HiLogLabel?label?=?new?HiLogLabel(HiLog.LOG_APP,?0x00201,?"MY_TAG");
上面有三个参数:
日志类型,我们的应用一般取一个常量值:HiLog.LOG_APP,表示是第三方应用。
服务域,16 进制整数形式,取值范围是 0x0 ~ 0xFFFFF。一般情况下,我们建议把这 5 个 16 进制数分成两组,前面三个数表示应用中的模块编号,后面两个表示模块中的类的编号。
一个字符串常量,它标识方法调用的类或服务行为。一般情况下就写类的名字,一般我可用这个标记对日志进行过滤。
②日志的级别,和其他日志一样,HiLog 也分成了几个日志级别。
由上到下信息越严重:
debug:调试信息
info:普通信息
warn:警告信息
error:错误信息
fatal:致命错误信息
02
使用
String?url?=?"www.baidu.com";
int?errno?=?0;
HiLog.warn(label,?"Failed?to?visit?%{private}s,?reason:%{public}d.",?url,?errno);
按照上述格式就可用在控制台中输入日志信息了,里边还有点东西,需要进一步解释一下。
%{private}s 和 %{public}d 这两个符号我们可用理解为占位符,真正打印到控制台上的值是后面的变量:

private:表示私有的,我们在开发阶段的日志中是看得见的,但是运行到手机上后,手机的控制台是隐藏的,看不见的。
public:表示共有的,哪里都看得见,不受限制。
s:表示字符串。
d:表示数字。
03
写 demo 练习
public?class?MainAbility?extends?Ability?{
????static?final?HiLogLabel?HI_LOG_LABEL?=?new?HiLogLabel(HiLog.LOG_APP,0x00101,"MainAbility");
????@Override
????public?void?onStart(Intent?intent)?{
????????HiLog.info(HI_LOG_LABEL,"======MainAbility?onStart?is?running....");
????????String?ss?=?"tesst?string";
????????int?ii??=?11111;
????????HiLog.info(HI_LOG_LABEL,"======字符串信息加上变量信息,格式化打印字符串%{public}s,整数%{private}d",ss,ii);
????????super.onStart(intent);
????????super.setMainRoute(MainAbilitySlice.class.getName());
????}
}
https://edu.51cto.com/course/26133.html
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
关注网络尖刀微信公众号随时掌握互联网精彩
- 1 习近平将发表二〇二六年新年贺词 7904141
- 2 2026年国补政策来了 7808738
- 3 东部战区:开火!开火!全部命中! 7712893
- 4 2026年这些民生政策将惠及百姓 7616985
- 5 小学食堂米线过期2.5小时被罚5万 7519709
- 6 解放军喊话驱离台军 原声曝光 7428214
- 7 为博流量直播踩烈士陵墓?绝不姑息 7327605
- 8 每月最高800元!多地发放养老消费券 7238391
- 9 数字人民币升级 1月1日起将计付利息 7141831
- 10 2026年1月1日起 一批新规将施行 7040675








51CTO技术栈
