前语
日志打印,没什么好说的,系统已给咱们提供,且调用也是非常的简单,咱们封装的意图,一是扩展,打印一些不常见的类型,比方格式化json,使得日志看起来比较美观,二是,操控日志的开关,使其动态敞开打印和封闭打印,三是,简化代码,使其调用起来愈加的方便。
如下图所示,便是咱们封装之后的打印效果。
本章的内容大致如下,关于源码解析,咱们放到下篇文章概述。
1、Log东西快速运用
2、大局初始化
3、根本打印
4、开源地址
一、Log东西快速运用
现在Log东西类现已开源,在源码中的README中现已做了很具体的介绍,当然了,你也能够依照如下的方法进行快速运用。
私服和长途依靠,因为权限和审阅问题,估计需求比及2024年第一季度面向一切开发者,所以,暂时只能运用本地静态同享包和源码两种运用方法,本地静态同享包类似Android中的aar依靠,直接仿制到项目中即可。
1、本地静态同享包har包运用
首要,下载har包,点击下载
下载之后,把har包仿制项目中,目录自己创立,如下,我创立了一个libs目录,仿制进去。
引进之后,进行同步项目,点击SyncNow即可,当然了你也能够,将鼠标放置在报错处会出现提示,在提示框中点击Run’ohpminstall’。
需求注意,@app/log,是用来区分目录的,能够自己界说,比方@aa/bb等,关于静态同享包的创立和运用,请查看如下我的介绍,这里就不过多介绍。
HarmonyOS开发:走进静态同享包的依靠与运用
2、源码直接运用
下载源码后,直接把源码中log这个module仿制到项目中,直接引证即可:
引进之后,进行同步项目,点击SyncNow即可,当然了你也能够,将鼠标放置在报错处会出现提示,在提示框中点击Run’ohpminstall’。
如果您的DevEcoStudio低于4.0,您需求更改log模块里的hvigorfile.ts文件。
修改前
import { harTasks } from '@ohos/hvigor-ohos-plugin';
export default {
system: harTasks, /* Built-in plugin of Hvigor. It cannot be modified. */
plugins:[] /* Custom plugin to extend the functionality of Hvigor. */
}
修改后
export { harTasks } from '@ohos/hvigor-ohos-plugin';
并需求进行模块的引进,在跟项目中build-profile.json5文件里增加如下:
{
"app": {
"signingConfigs": [],
"compileSdkVersion": 9,
"compatibleSdkVersion": 9,
"products": [
{
"name": "default",
"signingConfig": "default"
}
]
},
"modules": [
{
"name": "entry",
"srcPath": "./entry",
"targets": [
{
"name": "default",
"applyToProducts": [
"default"
]
}
]
},
{
"name": "log",
"srcPath": "./log"
}
]
}
3、查看是否引证成功
不管运用哪种方法进行依靠,最终都会在运用的模块中,生成一个oh_modules文件,并创立源代码文件,有则成功,无则失利,如下:
二、大局初始化
初始化仅需求初始化一次即可,能够在AbilityStage进行,现在初始化中均有默许值,如果您运用默许值,就无需进行初始化。初始化采用的是目标参数传递方法,其参数您能够按实际需求进行传递,如果想和默许值保持一致,有些参数就能够省掉。
Log.init({
tag: "HarmonyOSLog",
domain: 0x0000,
close: false,
isHilog: true,
showLogLocation: true,
logSize: 800
})
初始化参数介绍
特点 | 类型 | 概述 |
---|---|---|
tag | string | 打印的标签,默许为:HarmonyOSLog |
domain | number | 输出日志所对应的事务领域,默许为0x0000 |
close | boolean | 是否封闭打印,默许true为翻开,false为不打印 |
isHilog | boolean | 打印类型,默许为true是hilog打印,false为console |
mShowLogLocation | boolean | 是否展现点击的位置,默许为true是展现,false为不展现 |
logSize | number | 日志每次输出巨细,最大1024字节 |
二、根本打印
一致标签打印
运用一致标签进行打印,直接传递打印内容即可。
Log.info("我是一个info类型日志")
Log.debug("我是一个debug类型日志")
Log.warn("我是一个warn类型日志")
Log.error("我是一个error类型日志")
Log.fatal("我是一个fatal类型日志")
自界说标签
运用自界说标签进行打印
Log.info("我是一个info类型日志", "testTag")
Log.debug("我是一个debug类型日志", "testTag")
Log.warn("我是一个warn类型日志", "testTag")
Log.error("我是一个error类型日志", "testTag")
Log.fatal("我是一个fatal类型日志", "testTag")
json打印
json打印会进行格式化处理,直接传递json目标或者json字符串即可。
Log.info({ "name": "AbnerMing", "age": 18 })
四、开源地址
gitee.com/abnercode/h…
开发环境
DevEcoStudio4.0Beta2,BuildVersion:4.0.0.400
Api版别:9
hvigorVersion:3.0.2
常见问题
如果你的开发环境比较低,会形成,下载源码,运转工程失利问题,常见过错如下,是因为开发环境不一致形成。
您能够选择解决问题,解决方法如下:
解决DevEcoStudio低版别导入高版别项目运转失利问题
您也能够不运转,直接依照文档进行运用,彻底没有问题。