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

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

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语言##仓颉##购物#