写点什么

详解鸿蒙仓颉开发语言中的日志打印问题

作者:幽蓝计划
  • 2025-05-21
    山东
  • 本文字数:728 字

    阅读完需:约 2 分钟

详解鸿蒙仓颉开发语言中的日志打印问题

一门新的开发语言在诞生初期,由于它本身的特性和使用人数暂时较少,会容易出现一些大家不太容易理解的问题,或者说有一些 bug。今天就详细分享一下仓颉开发语言中的日志打印相关内容,带大家看一看这些问题。


AppLog


在新创建的项目中,Button 的点击事件就写好了一行打印日志的代码:



和 ArkTs 不同,仓颉语言中没有了 console.log,这里用的是 AppLog.info。


这时候问题就出现了,很多同学发现点击按钮之后并没有打印任何东西,幽蓝君也一样,当时因为这个问题困扰了很久



最终发现 AppLog 打印的内容只能在真机看到,模拟器上是看不到的。



那么 AppLog 到底是什么呢,为什么会出现这种问题。


仓颉语言无法通过 command 点进去看代码,我们不知道 AppLog 的任何信息。不过幽蓝君还是从代码提示中看出了一点端倪:



可以看出 AppLog 也还是基于 Hilog 的封装,而 DevEco 的控制台打印的就是 Hilog 的内容。而且作为初始化代码中推荐的打印方式,在模拟器无法打印,不知道为什会这样。



Hilog


刚才说了 AppLog 是基于 Hilog 的封装,所以在仓颉中你依然可以使用 Hilog,这是鸿蒙系统中最基础的打印方式,console 和 AppLog 都是从 Hilog 封装而来。没有真机设备的同学可以使用这种方式:


Hilog.info(0x0000, 'hello hilog', 'this is an info level log');
复制代码


这时候模拟器中可以正常打印日志了。



print


告诉大家一个秘密,使用 VSCode 创建的仓颉项目,和 DevEco 创建的项目大有不同,而且默认的打印日志方式是 println:



这种方式在 vscode 是可以正常打印的。println 是基于 print 的封装,所以在这里使用 print 也同样有效。 


println 和 print 在 DevEco 中也能写出来,但是是不能打印的,因为 DevEco 只能打印 Hilog 的内容,而 print 和 Hilog 没什么关系。


以上就是仓颉开发语言中的日志打印,希望对大家有所帮助。


#HarmonyOS 语言 ##仓颉 ##购物 #

用户头像

幽蓝计划

关注

还未添加个人签名 2025-05-09 加入

还未添加个人简介

评论

发布
暂无评论
详解鸿蒙仓颉开发语言中的日志打印问题_幽蓝计划_InfoQ写作社区