鸿蒙Next开发中如何打印日志
在鸿蒙Next开发过程中,如何正确打印日志?具体的API是什么?是否有不同的日志级别(如DEBUG、INFO、ERROR)可以使用?打印日志时需要注意哪些性能或规范问题?
2 回复
鸿蒙Next开发打印日志?简单!用HiLog全家桶:
HiLog.info(LABEL, "Hello HarmonyOS!");
记住四个级别:
- debug(调试时悄悄说)
- info(正常运行时唠嗑)
- warn(有问题但能忍)
- error(出大事了!)
记得先定义LABEL标签,不然日志会迷路哦~
更多关于鸿蒙Next开发中如何打印日志的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在鸿蒙Next开发中,推荐使用HiLog类打印日志,这是鸿蒙系统提供的标准日志接口,支持分级、标签和格式化输出。
基本用法
-
导入依赖:
import { hilog } from '[@kit](/user/kit).PerformanceAnalysisKit'; -
定义日志标签:
const TAG: string = 'MyApp'; // 建议使用模块/页面名 const DOMAIN: number = 0x0001; // 业务域标识(1~0xFFFF) -
输出日志:
hilog.debug(DOMAIN, TAG, '%{public}s', 'Debug message'); // 调试信息 hilog.info(DOMAIN, TAG, 'User %{public}s logged in', 'Alice'); // 关键流程 hilog.warn(DOMAIN, TAG, 'Network unstable'); // 警告 hilog.error(DOMAIN, TAG, 'Failed to load data'); // 错误 hilog.fatal(DOMAIN, TAG, 'Critical error occurred'); // 严重错误
关键说明
-
日志级别:
- DEBUG:开发调试(默认不输出)
- INFO:重要流程节点
- WARN:潜在问题
- ERROR:功能异常
- FATAL:严重崩溃前记录
-
格式化注意:
- 使用
%{public}s标记公开数据(日志中可见) - 使用
%{private}s标记敏感数据(输出为<private>) - 支持
%d(整数)、%f(浮点数)等格式化符号
- 使用
实际示例
function fetchData(url: string) {
hilog.info(DOMAIN, TAG, 'Request URL: %{private}s', url); // 隐藏实际URL
try {
// ...业务逻辑
hilog.debug(DOMAIN, TAG, 'Data parsed successfully');
} catch (err) {
hilog.error(DOMAIN, TAG, 'Fetch failed: %{public}s', err.message);
}
}
查看日志
- 开发阶段:通过DevEco Studio的Log窗口查看
- 真机调试:使用
hdc shell hilog命令 - 使用
hilog -h查看日志抓取参数
注意事项:
- 合理选择日志级别,避免过度输出
- 敏感信息必须使用
private保护 - 生产环境建议关闭DEBUG日志
这种日志机制既能满足调试需求,又能保障用户隐私安全。

