在控制台日志打印窗口中找到应用程序中自定义的日志信息是比较困难的,官方对console
日志打印不再维护且推荐使用@ohos.hilog
,接下来将对其进行封装,遵守易过滤、易查看的原则进行封装,封装后更便于调试应用程序。
hilog.isLoggable
检查指定领域标识、日志标识和级别的日志是否可以打印。hilog.LogLevel.DEBUG
hilog.LogLevel.INFO
hilog.LogLevel.WARN
hilog.LogLevel.ERROR
hilog.debug
级别为DEBUG日志hilog.info
级别为INFO日志hilog.warn
级别为WARN日志hilog.error
级别为ERROR日志printInfo(tag: string, log: string)
打印常规日志printWarning(tag: string, log: string)
打印警告日志printDebug(tag: string, log: string)
打印调试日志printError(tag: string, log: string)
打印错误日志在具体页面引入LogUtil
import log from '@ohos/tecore/src/main/ets/utils/LogUtil';
1.1.
复制
需要打印的位置,调用打印方法
const TAG = "Index";
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
.onClick(() => {
log.printInfo(TAG, "这是点击Text文本组件显示的信息")
})
1.2.3.4.5.6.7.8.1.2.3.4.5.6.7.8.
复制
打开DevEco Studio工具底部Log选项卡,选择OpenLog标签,在过滤输入框中输入tag
页签标识,会在控制台中显示所有tag
页签标识的日志信息。
/**
* @Description 日志打印工具
* @date 2022/7/14 10:42
* [url=home.php?mod=space&uid=40524]@author[/url] Bai XiaoMing
* @Version 1.0
*/
import hilog from '@ohos.hilog';
const TAG = '[TuEr Tools]';
const DOMAIN = 0x6688;
export default class LogUtil {
/**
* 打印信息
* @param tag 页签标记
* @param log 提示信息
*/
static printInfo(tag: string, log: string) {
if (hilog.isLoggable(DOMAIN, TAG, hilog.LogLevel.INFO)) {
hilog.info(DOMAIN, tag, `----- ${TAG} ---> tag: ** ${tag} ** ---> info: %{public}s -----`, log);
} else {
this.printWarning(tag, "领域标识或日志标识暂不支持打印");
}
}
/**
* 打印警告信息
* @param tag 页签标记
* @param log 提示信息
*/
static printWarning(tag: string, log: string) {
if (hilog.isLoggable(DOMAIN, TAG, hilog.LogLevel.WARN)) {
hilog.warn(DOMAIN, tag, `----- ${TAG} ---> tag: ** ${tag} ** ---> warning: %{public}s -----`, log);
} else {
console.warn(`${TAG} ---> tag: ${tag} ---> warning: ${log}`);
}
}
/**
* 打印调试信息
* @param tag 页签标记
* @param log 提示信息
*/
static printDebug(tag: string, log: string) {
if (hilog.isLoggable(DOMAIN, TAG, hilog.LogLevel.DEBUG)) {
hilog.debug(DOMAIN, tag, `----- ${TAG} ---> tag: ** ${tag} ** ---> debug: %{public}s -----`, log);
} else {
this.printWarning(tag, "领域标识或日志标识暂不支持打印");
}
}
/**
* 打印错误信息
* @param tag 页签标记
* @param log 提示信息
*/
static printError(tag: string, log: string) {
if (hilog.isLoggable(DOMAIN, TAG, hilog.LogLevel.ERROR)) {
hilog.error(DOMAIN, tag, `----- ${TAG} ---> tag: ** ${tag} ** ---> error: %{public}s -----`, log);
} else {
this.printWarning(tag, "领域标识或日志标识暂不支持打印");
}
}
}