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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 本文介绍了仓颉开发语言中的日志打印机制及常见问题。由于仓颉尚处于早期阶段,日志功能存在一定“坑点”。例如,AppLog.info在模拟器中不显示日志,需真机查看;而Hilog则可在模拟器正常打印。此外,VSCode与DevEco创建的项目默认打印方式不同,使用时需注意区分。了解这些细节有助于开发者更高效调试代码。

一门新的开发语言在诞生初期,由于它本身的特性和使用人数暂时较少,会容易出现一些大家不太容易理解的问题,或者说有一些坑。今天就详细分享一下仓颉开发语言中的日志打印相关内容,带大家踩一踩坑。
AppLog
在新创建的项目中,Button的点击事件就写好了一行打印日志的代码:
image.png

和ArkTs不同,仓颉语言中没有了console.log,这里用的是AppLog.info。
这时候问题就出现了,很多同学发现点击按钮之后并没有打印任何东西,幽蓝君也一样,当时因为这个问题困扰了很久
image.png

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

那么AppLog到底是什么呢,为什么会出现这种问题。
仓颉语言无法通过command点进去看代码,我们不知道AppLog的任何信息。不过幽蓝君还是从代码提示中看出了一点端倪:
image.png

可以看出AppLog也还是基于Hilog的封装,而DevEco的控制台打印的就是Hilog的内容。而且作为初始化代码中推荐的打印方式,在模拟器无法打印,我只能理解为这是一个坑。
image.png

Hilog
刚才说了AppLog是基于Hilog的封装,所以在仓颉中你依然可以使用Hilog,这是鸿蒙系统中最基础的打印方式,console和AppLog都是从Hilog封装而来。没有真机设备的同学可以使用这种方式:
Hilog.info(0x0000, 'hello hilog', 'this is an info level log');
这时候模拟器中可以正常打印日志了。
image.png

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

这种方式在vscode是可以正常打印的。println是基于print的封装,所以在这里使用print也同样有效。
println和print在DevEco中也能写出来,但是是不能打印的,因为DevEco只能打印Hilog的内容,而print和Hilog没什么关系。
以上就是仓颉开发语言中的日志打印,希望对大家有所帮助。##HarmonyOS语言##仓颉##购物#

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
5月前
|
IDE 开发工具 开发者
仓颉开发语言入门教程:搭建开发环境
仓颉开发语言是华为为鸿蒙系统自主研发的编程语言,肩负重要使命。本文介绍如何从零搭建仓颉开发环境,重点演示在DevEco Studio中安装插件、配置项目及运行Hello World示例,助力开发者快速上手。
|
5月前
|
移动开发 开发者
仓颉开发语言入门教程:常见UI组件介绍和一些问题踩坑
仓颉开发语言即将发布一周年,虽已有知名App应用,但教程稀缺且官网文档不够完善。幽蓝君推出系列教程,从零开始系统讲解移动开发。本期介绍常用UI组件:按钮、文本、图片、输入框与搜索框的使用方法及注意事项,帮助开发者快速上手仓颉语言。
|
5月前
|
开发者
Uniapp开发鸿蒙应用时如何运行和调试项目
本文介绍了如何将Uniapp项目运行到鸿蒙设备并进行调试。内容包括运行到真机或模拟器的步骤、配置证书的方法、使用console.log打印日志以及在uni-app x项目中设置断点调试的详细流程,帮助开发者提升鸿蒙应用开发效率。
|
5月前
|
容器
HarmonyOS NEXT仓颉开发语言实战案例:外卖App
仓颉语言实战分享,教你如何用仓颉开发外卖App界面。内容包括页面布局、导航栏自定义、搜索框实现、列表模块构建等,附完整代码示例。轻松掌握Scroll、List等组件使用技巧,提升HarmonyOS应用开发能力。
HarmonyOS NEXT仓颉开发语言实战案例:电影App
周末好!本文分享使用仓颉语言重构ArkTS实现的电影App案例,对比两者在UI布局、组件写法及语法差异。内容包括页面结构、列表分组、分类切换与电影展示等。通过代码演示仓颉在HarmonyOS开发中的应用。##仓颉##ArkTS##HarmonyOS开发
|
5月前
|
开发者
鸿蒙仓颉开发语言实战教程:页面跳转和传参
本文介绍了仓颉语言中实现商城应用页面跳转与参数传递的方法。通过Router实现页面间跳转,支持传递字符串和JsonObject类型的参数,并演示了如何在页面间接收和处理这些参数,帮助开发者快速掌握仓颉语言中的页面通信技巧。
|
5月前
|
开发者
Uniapp开发鸿蒙应用教程之自定义导航栏
本文介绍了在Uniapp跨平台开发鸿蒙应用时,如何实现自定义导航栏。通过修改pages.json文件可调整默认导航栏样式,但若需添加组件(如搜索框、按钮等),则需手动创建自定义导航栏组件,以适配鸿蒙系统。文中给出了详细的配置代码与实现步骤,帮助开发者灵活控制界面布局。#鸿蒙 #Uniapp #跨平台开发
|
5月前
|
编译器 程序员 开发者
详解HarmonyOS NEXT系统中ArkTS和仓颉的混合开发
本文介绍了鸿蒙系统中ArkTs与仓颉语言的混合开发方法,讲解了如何通过DevEco Studio创建混合项目、目录结构特点及组件调用方式,强调编译器自动化处理大幅简化开发流程,提升了开发体验。
鸿蒙Next仓颉语言开发实战教程:下拉刷新和上拉加载更多
本文介绍了在仓颉开发语言中实现下拉刷新和上拉加载更多的方法。通过Refresh组件实现下拉刷新,结合Timer模拟网络加载;并通过监听列表滚动事件,在列表底部添加加载动画实现上拉加载更多功能。代码示例清晰实用,适用于商城等含列表交互的移动应用开发。
|
5月前
|
人工智能 关系型数据库 数据库
在仓颉开发语言中使用数据库
本文介绍了在仓颉开发语言中操作关系型数据库的流程,包括获取数据库、建表、增删改查等操作,并提供了详细的代码示例,帮助开发者快速掌握HarmonyOS下数据库的应用。