惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Y
Y Combinator Blog
D
Docker
有赞技术团队
有赞技术团队
D
DataBreaches.Net
The GitHub Blog
The GitHub Blog
爱范儿
爱范儿
H
Help Net Security
美团技术团队
MyScale Blog
MyScale Blog
B
Blog RSS Feed
C
Check Point Blog
Microsoft Security Blog
Microsoft Security Blog
阮一峰的网络日志
阮一峰的网络日志
A
About on SuperTechFans
小众软件
小众软件
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
GbyAI
GbyAI
G
Google Developers Blog
月光博客
月光博客
Google DeepMind News
Google DeepMind News
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Blog — PlanetScale
Blog — PlanetScale
MongoDB | Blog
MongoDB | Blog
F
Fortinet All Blogs

博客园 - webabcd

开天辟地 HarmonyOS(鸿蒙) - 工具: Targets, Products 开天辟地 HarmonyOS(鸿蒙) - 测试: 单元测试 开天辟地 HarmonyOS(鸿蒙) - 优化: HiDebug(用于获取 cpu, 内存等信息) 开天辟地 HarmonyOS(鸿蒙) - 优化: errorManager(捕获未处理异常) 开天辟地 HarmonyOS(鸿蒙) - 优化: HiAppEvent(事件日志) 开天辟地 HarmonyOS(鸿蒙) - 安全: 用户认证 开天辟地 HarmonyOS(鸿蒙) - 安全: 申请权限 开天辟地 HarmonyOS(鸿蒙) - 安全: 关键资产 开天辟地 HarmonyOS(鸿蒙) - 安全: 加密解密 开天辟地 HarmonyOS(鸿蒙) - 信息: CommonEventManager(用于进程间通信,以及订阅系统事件) 开天辟地 HarmonyOS(鸿蒙) - 信息: emitter(用于同一进程内不同线程间或同一线程内发送和订阅事件) 开天辟地 HarmonyOS(鸿蒙) - 信息: 各种信息 开天辟地 HarmonyOS(鸿蒙) - 华为账号: 华为账号的默认登录 开天辟地 HarmonyOS(鸿蒙) - 元服务: 元服务 开天辟地 HarmonyOS(鸿蒙) - 媒体: AVImageGenerator(提取视频指定时间点的图像) 开天辟地 HarmonyOS(鸿蒙) - 媒体: AVMetadataExtractor(提取视频或音频的元数据信息) 开天辟地 HarmonyOS(鸿蒙) - 媒体: AVTranscoder(视频转码) 开天辟地 HarmonyOS(鸿蒙) - 媒体: SoundPool(音效播放器) 开天辟地 HarmonyOS(鸿蒙) - 媒体: AVPlayer(播放器,用于播放视频或音频)
开天辟地 HarmonyOS(鸿蒙) - 优化: hilog 日志
webabcd · 2025-06-13 · via 博客园 - webabcd

源码 https://github.com/webabcd/HarmonyDemo
作者 webabcd

开天辟地 HarmonyOS(鸿蒙) - 优化: hilog 日志

示例如下:

pages\optimize\HiLogDemo.ets

/**
 * hilog 日志
 * 在 DevEco Studio -> Log -> HiLog 中可以抓取 hilog 日志,也可以通过 hilog 命令抓取 hilog 日志
 * 每条 hilog 日志的最大长度为 4096 字节,超出则会被截断
 * 如果不想用 hilog 打印日志,也可以通过 console 打印日志
 *
 * 注:
 * 在 release 版本的 app 中默认不会打印 DEBUG 级别的日志
 * 如果需要在 release 版本的 app 中打印 DEBUG 级别的日志,可以执行命令 hdc shell hilog -b D
 */

import { TitleBar } from '../TitleBar'
import { hilog } from '@kit.PerformanceAnalysisKit'

@Entry
@Component
struct HiLogDemo {

  build() {
    Column({ space: 10 }) {
      TitleBar()
      Tabs() {
        TabContent() { MySample1() }.tabBar('基础').align(Alignment.Top)
      }
      .scrollable(true)
      .barMode(BarMode.Scrollable)
    }
  }
}

@Component
struct MySample1 {

  @State message: string = ""

  private readonly DOMAIN: number = 0x0000;
  private readonly TAG: string = 'webabcd';

  aboutToAppear(): void {
    /*
     * 如果调用 hilog.debug(0x0000, 'webabcd', 'MyMessage');
     * 则会打印 09-29 13:58:31.703   2655-2655     A00000/webabcd                  com.webabcd.harmonydemo  D     MyMessage
     *   A00000/webabcd 中的 0000 是 DOMAIN(日志的来源域),本例中用的是 0x0000
     *   A00000/webabcd 中的 A 代表应用级别的日志(Application),如果是 C 开头则代表系统级别的日志(Core Components)
     *   A00000/webabcd 中的 webabcd 是 tag,本例中用的是 webabcd
     *   D 代表 debug 级别的日志
     * 日志级别从小到大排序为 DEBUG, INFO, WARN, ERROR, FATAL
     */
    hilog.debug(this.DOMAIN, this.TAG, "debug"); // debug
    hilog.info(this.DOMAIN, this.TAG, "info"); // info
    hilog.warn(this.DOMAIN, this.TAG, "warn"); // warn
    hilog.error(this.DOMAIN, this.TAG, "error"); // error
    hilog.fatal(this.DOMAIN, this.TAG, "fatal"); // fatal

    /*
     * 支持格式化
     *   %{public}d - 格式化数字类型,且显示
     *   %{public}s - 格式化字符串类型,且显示
     *   %{private}d - 格式化数字类型,但不显示
     *   %{private}s - 格式化字符串类型,但不显示
     *   %d - 同 %{private}d
     *   %s - 同 %{private}s
     */
    hilog.info(this.DOMAIN, this.TAG, "name:%{public}s, age:%{public}d", "webabcd", 44); // name:webabcd, age:44
    hilog.info(this.DOMAIN, this.TAG, "name:%{private}s, age:%{private}d", "webabcd", 44); // name:<private>, age:<private>
    hilog.info(this.DOMAIN, this.TAG, "name:%s, age:%d", "webabcd", 44); // name:<private>, age:<private>

    /*
     * hilog.isLoggable() - 用于判断当前是否支持指定 domain, tag, level 日志的打印
     */
    this.message = `debug: ${hilog.isLoggable(this.DOMAIN, this.TAG, hilog.LogLevel.DEBUG)}` // debug: true
  }

  build() {
    Column({ space: 10 }) {

      Text(this.message)
    }
  }
}

源码 https://github.com/webabcd/HarmonyDemo
作者 webabcd