一、写作目的
写这篇总结,主要目的有二
- 一是为了巩固封装的基础知识
- 二是为了给后续的实践测试提供更精确的辅助工具
二、Logger封装的原因
主要为了封装hilog日志输出方法
hilog有四个方法,集中写至一个封装类中,可便于方法的复用,也有利于代码的管理。
在通过底部日志栏查询日志时,也能通过特定的方法以及tag参数筛选出要查询的日志
三、Logger代码
// 定义三个常亮
import { hilog } from '@kit.PerformanceAnalysisKit'
const DOMAIN = 0x0000 // 表示域
const TAG = 'mylog' // 表示过滤的日志关键字
const FORMAT = '%{public}s %{public}s'
export class Logger{
//1.0 封装info这几个静态方法
static info(...args:string[]){
hilog.info(DOMAIN,TAG,FORMAT,...args)
}
//1.0 封装debug这几个静态方法
static debug(...args:string[]){
hilog.debug(DOMAIN,TAG,FORMAT,...args)
}
//1.0 封装info这几个静态方法
static warn(...args:string[]){
hilog.warn(DOMAIN,TAG,FORMAT,...args)
}
//1.0 封装info这几个静态方法
static error(...args:string[]){
hilog.info(DOMAIN,TAG,FORMAT,...args)
}
}
四、方法评价
与console.log()方法相近,可以与AlertDialog.show()、promptAction.showToast()等方法替换使用,但也有细微区别,以下是简单的对比分析:
对比:
(1)console.log():使用较便捷
括号中可填2个参数,第一个是说明(选填),第二个要输出的日志内容(必填)
(2)hilog系列方法:功能较强
hilog.info(DOMAIN,TAG,FORMAT,...args)
参数说明:
DOMAIN:域。
TAG:标签。参数tag可用于过滤,而info、debug、warn、error四种方法的可以对应多种实际情况,也可以不同颜色和表大写因为字母突出表示与分类。
FORMAT:输出格式。
...args:可变参数。
在EntryAbility.ets中常见此方法
(3)AlertDialog.show():持久弹窗提示
通过弹框的形式在模拟器中输出要显示的内容,弹窗持久存在,白色底色
典型格式:
AlertDialog.show({ message: '完整路径' + fullPath })
(4)promptAction.showToast():临时弹框提示
通过弹框的形式在在模拟器中输出要显示的内容,弹窗短暂存在,灰黑底色
典型格式:
promptAction.showToast({ message: "头像上传成功" })
五、总结
- 在使用模拟机调试的情况下,用hilog封装后的Logger类方法输出日志数据,有利于过滤想要的日志
- 临时的调试可用AlertDialog.show(),在模拟器中持久显示要查看的信息,但是正式上线程序时要注释隐藏
- 对于程序中必须一直存在的提示内容,使用临时显示的弹窗promptAction.showToast()提示为宜,正式上线程序时可以仍然保留