HarmonyOS 鸿蒙Next中release包如何关闭所有日志输出

HarmonyOS 鸿蒙Next中release包如何关闭所有日志输出 在打包release后,包括第三方库中的所有log输出全部关闭。 这个怎么去配置

4 回复

楼主试试动态控制日志开关

在build-profile.json5中定义日志开关标识:

// build-profile.json5

"buildTypes": {

  "release": {

    "artifactType": "obfuscation",

    "parameters": {

      "LOG_ENABLE": false  // Release包关闭日志

    }

  },

  "debug": {

    "parameters": {

      "LOG_ENABLE": true    // Debug包开启日志

    }

  }

}

封装统一日志工具类,根据构建参数控制输出:

// Logger.ets

import hilog from '@kit.ArkTS';

export class Logger {

  static log(tag: string, content: string) {

    if (BuildProfile.LOG_ENABLE) {  // 引用构建参数

      hilog.info(0x0000, tag, content);

    }

  }

}

更多关于HarmonyOS 鸿蒙Next中release包如何关闭所有日志输出的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


背景知识:

首先你使用的是第三方库,需要关闭第三方库的日志,需要看看第三方库中是否存在关闭日志的方法。

问题解决:

可以尝试查看第三方库中的api,看看是否存在类是 setLog() setEnableLog() 之类的方法。获取也可以将日志提供出来。我看看是否用过。

在HarmonyOS Next中,release包默认关闭日志输出。如需确保所有日志被禁用,请在工程的hvigorfile.ts中配置以下参数:将compilerOptions的removeLog参数设为true。具体代码示例如下:

// hvigorfile.ts
export default {
    compilerOptions: {
        removeLog: true
    }
}

此配置会在编译release包时自动移除所有日志代码。

在HarmonyOS Next中,可以通过修改工程的build-profile.json5文件来关闭release包的日志输出。具体操作如下:

  1. 打开项目根目录下的build-profile.json5文件。
  2. buildOption字段中添加或修改logging配置,将其设置为false

示例配置如下:

"buildOption": {
  "logging": false
}

此配置会全局禁用所有日志输出,包括第三方库中的日志。重新编译release包后生效。

回到顶部