在 HarmonyOS(鸿蒙)开发中,HiLog 是一个非常核心的日志系统,用于输出和调试系统与应用的运行信息。它是华为在 HarmonyOS 中提供的官方日志模块,相当于 Android 的 Logcat,但更适用于 分布式多设备、轻量化、高性能 的操作场景。


🌟 开天辟地 HarmonyOS(鸿蒙)——优化:HiLog 日志


✅ 一、什么是 HiLog?

HiLog 是 HarmonyOS 提供的统一日志输出系统,广泛用于:

  • 系统服务(如鸿蒙的能力调度、文件服务)
  • 应用开发(App 的调试信息、错误日志)
  • 性能分析与优化(追踪耗时、异常)

它为开发者提供了一个标准、安全、结构化的日志接口,用于在不同模块和设备上记录调试信息。


✅ 二、HiLog 的核心功能

功能类别说明
多级别日志输出支持 DEBUG、INFO、WARN、ERROR、FATAL 等日志级别
模块化分类支持按模块(Domain + Tag)分类记录和过滤日志
性能优化高效、低开销,适用于轻量设备
跨设备支持适用于 HarmonyOS 的分布式架构,可记录不同设备的日志
安全隔离应用与系统日志隔离,防止信息泄露

✅ 三、HiLog 使用方式(Native/C++ 和 JS)

【1】C++ 原生开发中使用 HiLog

#include "hilog/log.h"

// 定义日志参数
static constexpr OHOS::HiviewDFX::HiLogLabel LOG_LABEL = {
    LOG_CORE,      // 日志域(建议自定义,例如 LOG_APP, LOG_SYS)
    0xD001100,     // Domain ID,用于模块识别,需在华为注册
    "MyModule"     // Tag,自定义模块名称
};

// 输出一个 Info 日志
HiLog::Info(LOG_LABEL, "Hello from HiLog!");

// 输出一个格式化 Debug 日志
HiLog::Debug(LOG_LABEL, "Value = %{public}d", 42);

// 输出一个 Warning 日志
HiLog::Warn(LOG_LABEL, "Low memory warning!");

// 输出一个 Error 日志
HiLog::Error(LOG_LABEL, "An error occurred: %{public}s", errorMsg.c_str());

📌 注意事项:

  • %{public} / %{private} 用于标记日志是否可被外部读取(防止敏感信息泄露)。
  • LOG_LABEL 中的 domainId 必须向华为申请唯一标识(在正式项目中)。

【2】JavaScript / eTS(ArkTS)中使用 HiLog

import hilog from '@ohos.hilog';

// 输出 Info 日志
hilog.info(0x0001, 'MyApp', 'App started successfully.');

// 输出 Error 日志
hilog.error(0x0001, 'MyApp', 'Failed to load resource: %{public}s', 'config.json');


✅ 四、HiLog 日志级别说明

等级函数方法适用场景
DEBUGHiLog::Debug调试用信息,发布版本应移除
INFOHiLog::Info普通信息,不影响性能
WARNHiLog::Warn警告信息,可能存在问题
ERRORHiLog::Error错误信息,必须处理的问题
FATALHiLog::Fatal致命错误,会导致崩溃或异常终止

✅ 五、HiLog 日志查看方法

【1】通过 DevEco Studio 日志面板

  • 连接设备 → 启动应用 → 查看 Logcat 日志窗口
  • 支持按 Tag、Level、PID、时间过滤

【2】命令行方式(HDI 或 shell)

hilogread                        # 实时查看全部日志
hilogread -T MyModule            # 查看指定 Tag 的日志
hilogread | grep 'My keyword'   # 关键字过滤


✅ 六、HiLog 的性能优化建议

优化点说明
发布版本关闭 DEBUG 日志避免影响性能与泄露信息
合理使用日志等级不滥用 ERROR / FATAL
避免过量日志写入日志写入频繁可能影响实时性能
使用 %{private} 标注隐私字段避免敏感数据被打印或上传

✅ 七、HiLog 与其他优化工具的协同

工具搭配作用
HiAppEvent记录关键业务事件,可与日志一起用于行为分析
HiDebug监控 CPU、内存等信息,HiLog 可记录异常点
errorManager捕获异常时使用 HiLog 输出堆栈和错误详情

✅ 八、总结

特性HiLog 优势
✨ 标准日志系统提供一致的日志接口
📦 模块化设计支持多模块独立管理日志
🔐 安全控制防止敏感信息泄露(public/private)
⚡ 高性能适合 IoT、轻量终端等设备
📡 跨设备适配HarmonyOS 分布式架构下仍可用

📌 结语

HiLog 是 HarmonyOS 应用与系统开发不可或缺的调试与优化利器。掌握 HiLog 的使用,能显著提升你在开发、测试、运维中的效率和代码质量。