鸿蒙 HiLog日志打印使用技巧

本文介绍了鸿蒙系统中HiLog日志系统的使用,包括日志标签定义、日志输出方法、日志查看以及日志工具类的创建。通过实例展示了如何在MainAbilitySlice中打印日志,并在DevEco Studio的HiLog窗口查看和筛选日志信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言 :

各位同学大家好,有断时间没有给大家更新文章,具体多久我也不清楚哈。最近还在继续学习鸿蒙开发。平常在开发安卓或者java 以及flutter 的时候都有用到对应端的日志打印来调试代码。今天就分享一下鸿蒙里面日志打印使用技巧。

准备工作:

1 安装鸿蒙开发环境 大家可以看我之前的文章
华为鸿蒙系统开发初体验 :[https://www.jianshu.com/p/f94c847c7fdc]

日志打印概述

HarmonyOS提供了HiLog日志系统,让应用可以按照指定类型、指定级别、指定格式字符串输出日志内容,帮助开发者了解应用的运行状态,更好地调试程序。
输出日志的接口由HiLog类提供。在输出日志前,需要先调用HiLog的辅助类HiLogLabel定义日志标签。

定义日志标签

使用HiLogLabel(int type, int domain, String tag)定义日志标签,其中包括了日志类型、业务领域和TAG。使用示例:

static final HiLogLabel LABEL = new HiLogLabel(HiLog.LOG_APP, 0x00201, "MY_TAG"); 
  • 参数type:用于指定输出日志的类
<think>嗯,用户问的是如何在HarmonyOS的终端中打印当前的UIAbility。首先,我需要确定HarmonyOS的开发环境和API版本,因为不同的版本可能有不同的方法。记得HarmonyOS主要使用ArkTS或JavaScript进行开发,所以可能需要用这些语言的日志功能。 接下来,UIAbility是应用的一个核心组件,负责管理UI和生命周期。用户可能想了解当前运行的UIAbility的信息。在HarmonyOS中,每个Ability都有上下文(Context),可能可以通过Context来获取相关信息。 然后,我需要检查是否有API可以获取当前Ability的名称或状态。比如,在UIAbility的生命周期方法中,可能有this.context的属性,或者全局的方法如AbilityContext。不过要注意,直接打印UIAbility的信息可能在默认的日志级别下不可见,需要调整日志级别。 另外,HarmonyOS日志系统使用hilog模块,所以应该在代码中导入hilog,并使用hilog.info()或hilog.debug()来输出日志。需要确认用户是否有权限访问这些日志,以及是否需要特定的标签或领域ID。 可能还需要考虑,是否在UIAbility的onCreate或onForeground方法中调用日志输出,以确保在Ability激活时打印信息。同时,要提醒用户查看日志的方法,比如通过DevEco Studio的Log窗口,或者使用hdc命令行的hilog工具。 最后,确保代码示例正确,包括使用$$...$$格式的独立公式(如果有的话),但在这个问题中可能不需要数学公式,所以重点放在代码结构和使用hilog的正确语法上。需要验证代码是否能正确运行,并检查是否有拼写错误或API变更。</think>在HarmonyOS应用开发中,要打印当前UIAbility信息,可通过以下步骤实现: $$代码框架$$ ```typescript import hilog from '@ohos.hilog'; import UIAbility from '@ohos.app.ability.UIAbility'; export default class EntryAbility extends UIAbility { // 生命周期回调 onCreate(want, launchParam) { // 核心代码:打印当前Ability信息 hilog.info(0x0000, "UIAbility_TAG", "当前UIAbility:%{public}s", this.context.abilityInfo.name); // 其他初始化操作... } } ``` 关键实现步骤说明: 1. **日志模块导入**:使用`@ohos.hilog`模块进行日志输出 2. **UIAbility继承**:确保当前类继承自`UIAbility`基类 3. **生命周期钩子**:在`onCreate`/`onForeground`等生命周期方法中执行打印 4. **上下文访问**: - `this.context`获取Ability上下文 - `abilityInfo.name`获取当前Ability名称 调试技巧: 1. 使用DevEco Studio的**Log**窗口查看输出 2. 通过ADB命令过滤日志: ```bash hdc shell hilog | grep "UIAbility_TAG" ``` 注意事项: 1. 日志级别控制(建议开发阶段使用`hilog.debug`) 2. 敏感信息需使用`%{private}s`进行脱敏处理 3. 正式发布时应移除调试日志 完整能力信息获取: ```typescript const abilityInfo = this.context.abilityInfo; hilog.debug(0x0000, "UIAbility_DETAIL", `能力名称:${abilityInfo.name} 模块名:${abilityInfo.moduleName} 类型:${abilityInfo.type} 入口路径:${abilityInfo.srcPath}`); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xq9527--

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值