鸿蒙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类打印日志,这是鸿蒙系统提供的标准日志接口,支持分级、标签和格式化输出。

基本用法

  1. 导入依赖

    import { hilog } from '[@kit](/user/kit).PerformanceAnalysisKit';
    
  2. 定义日志标签

    const TAG: string = 'MyApp'; // 建议使用模块/页面名
    const DOMAIN: number = 0x0001; // 业务域标识(1~0xFFFF)
    
  3. 输出日志

    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查看日志抓取参数

注意事项:

  1. 合理选择日志级别,避免过度输出
  2. 敏感信息必须使用private保护
  3. 生产环境建议关闭DEBUG日志

这种日志机制既能满足调试需求,又能保障用户隐私安全。

回到顶部