前语

日志打印,没什么好说的,系统已给咱们提供,且调用也是非常的简单,咱们封装的意图,一是扩展,打印一些不常见的类型,比方格式化json,使得日志看起来比较美观,二是,操控日志的开关,使其动态敞开打印和封闭打印,三是,简化代码,使其调用起来愈加的方便。

如下图所示,便是咱们封装之后的打印效果。

HarmonyOS开发:封装一个便捷的Log工具类

HarmonyOS开发:封装一个便捷的Log工具类

本章的内容大致如下,关于源码解析,咱们放到下篇文章概述。

1、Log东西快速运用

2、大局初始化

3、根本打印

4、开源地址

一、Log东西快速运用

现在Log东西类现已开源,在源码中的README中现已做了很具体的介绍,当然了,你也能够依照如下的方法进行快速运用。

私服和长途依靠,因为权限和审阅问题,估计需求比及2024年第一季度面向一切开发者,所以,暂时只能运用本地静态同享包源码两种运用方法,本地静态同享包类似Android中的aar依靠,直接仿制到项目中即可。

1、本地静态同享包har包运用

首要,下载har包,点击下载

下载之后,把har包仿制项目中,目录自己创立,如下,我创立了一个libs目录,仿制进去。

HarmonyOS开发:封装一个便捷的Log工具类

引进之后,进行同步项目,点击SyncNow即可,当然了你也能够,将鼠标放置在报错处会出现提示,在提示框中点击Run’ohpminstall’。

需求注意,@app/log,是用来区分目录的,能够自己界说,比方@aa/bb等,关于静态同享包的创立和运用,请查看如下我的介绍,这里就不过多介绍。

HarmonyOS开发:走进静态同享包的依靠与运用

2、源码直接运用

下载源码后,直接把源码中log这个module仿制到项目中,直接引证即可:

HarmonyOS开发:封装一个便捷的Log工具类

引进之后,进行同步项目,点击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文件,并创立源代码文件,有则成功,无则失利,如下:

HarmonyOS开发:封装一个便捷的Log工具类

二、大局初始化

初始化仅需求初始化一次即可,能够在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

常见问题

如果你的开发环境比较低,会形成,下载源码,运转工程失利问题,常见过错如下,是因为开发环境不一致形成。

HarmonyOS开发:封装一个便捷的Log工具类

您能够选择解决问题,解决方法如下:

解决DevEcoStudio低版别导入高版别项目运转失利问题

您也能够不运转,直接依照文档进行运用,彻底没有问题。