当前位置: 首页 > ai >正文

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

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

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

http://www.xdnf.cn/news/7708.html

相关文章:

  • Go语言内存共享与扩容机制 -《Go语言实战指南》
  • 软考 系统架构设计师系列知识点之杂项集萃(67)
  • 【 Redis | 实战篇 扩展 】
  • 在 VB6 中强制设置 Word 文档的纸张尺寸
  • 策略的组合与叠加多策略联合交易
  • 阿里云域名 绑定 华为云服务器ip
  • 自定义协议与序列反序列化
  • FPGA开发全流程
  • 每日算法刷题计划Day12 5.21:leetcode不定长滑动窗口求最短/最长3道题,,用时1h40min(有点长了)
  • 《大模型开源与闭源的深度博弈:科技新生态下的权衡与抉择》
  • 零基础教程:用 Docker + pgloader 将 MySQL 数据库迁移到 PostgreSQL
  • 如何在 Android 手机和平板电脑上下载应用程序
  • 【压型机通信瓶颈破解】Profinet转RS485协议转换,如何提升设备联动效率?
  • Axure高级交互设计:中继器嵌套动态面板实现超强体验感台账
  • SpringMVC 通过ajax 实现文件的上传
  • 嵌入式开发学习日志(linux系统编程--文件读写函数(2))Day24
  • 【面经分享】微派网络一面
  • vue3中RouterView配合KeepAlive实现组件缓存
  • 告别格式壁垒:用迪威模型实现 MMD 模型到 STP 的几何精准转换(附复杂发型处理技巧)
  • 九天画芯CEO张锦:AR 与 AI 融合重构智能终端生态,消费级市场迎来关键拐点
  • MCU 上电不启动的常见原因分析与排查思路
  • 2024年下半年软考系统架构设计师案例分析题
  • 【Leetcode 每日一题】3356. 零数组变换 II
  • Memory模块是agent的一个关键组件
  • 工业视觉缺陷检测的算法总结
  • SpringBoot JAR 启动原理
  • 【C++】从零认识C++的“继承”
  • 【Linux笔记】——线程池项目与线程安全单例模式
  • 【SFT监督微调总结】大模型SFT全解析:从原理到工具链,解锁AI微调的核心密码
  • JAVA虚拟机有义务保证<clinit>()方法的线程安全