HarmonyOSBaseLibs/src/main/ets/utils/LogHelper.ets
徐勤民 9c6141f7fa refactor(utils): 为工具类添加私有构造函数
- 在多个工具类中添加私有构造函数,防止实例化
-这种设计模式确保了工具类的静态方法和属性的正确使用
- 受影响的主要类包括:
  - AlgorithmHelper
  - AppStorageHelper
  - LogHelper
  - PreferencesHelper
  - SZYXLocalStorageHelper
  - SZYXLocalStorageKeys
  - TimeHelper
  - ToolsHelper  - ToolsHelperForTS - ValidatorHelper
  - WindowHelper
  - XWebHelper
2024-10-31 12:28:44 +08:00

135 行
3.5 KiB
Plaintext

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

import hilog from '@ohos.hilog'
import { BusinessError } from '@kit.BasicServicesKit'
const LOGGER_DOMAIN: number = 0x0000
const LOGGER_TAG: string = '=====》'
export class LogHelper {
private constructor() {
}
private static domain: number = LOGGER_DOMAIN
private static tag: string = LOGGER_TAG //日志Tag
private static format: string = '%{public}s'
private static showLog: boolean = true //是否显示打印日志
/**
* 初始化日志参数该方法建议在Ability里调用
* @param domain
* @param tag
* @param showLog
*/
static init(domain: number = LOGGER_DOMAIN, tag: string = LOGGER_TAG, showLog: boolean = true) {
LogHelper.domain = domain
LogHelper.tag = tag
LogHelper.showLog = showLog
}
/**
* 设置日志对应的领域标识,范围是0x0~0xFFFF。该方法建议在Ability里调用
* @param domain
*/
static setDomain(domain: number = LOGGER_DOMAIN) {
LogHelper.domain = domain
}
/**
* 设置日志标识该方法建议在Ability里调用
* @param tag
*/
static setTag(tag: string = LOGGER_TAG) {
LogHelper.tag = tag
}
/**
* 是否打印日志该方法建议在Ability里调用
* @param showLog
*/
static setShowLog(showLog: boolean = true) {
LogHelper.showLog = showLog
}
/**
* 打印DEBUG级别日志
* @param args
*/
static debug(...args: string[]): void {
if (LogHelper.showLog) {
hilog.debug(LogHelper.domain, LogHelper.tag, ' ')
hilog.debug(LogHelper.domain, LogHelper.tag, LogHelper.format.repeat(args.length), args)
}
}
/**
* 打印INFO级别日志
* @param args
*/
static info(...args: string[]): void {
if (LogHelper.showLog) {
hilog.info(LogHelper.domain, LogHelper.tag, ' ')
hilog.info(LogHelper.domain, LogHelper.tag, LogHelper.format.repeat(args.length), args)
}
}
/**
* 打印WARN级别日志
* @param args
*/
static warn(...args: string[]): void {
if (LogHelper.showLog) {
hilog.warn(LogHelper.domain, LogHelper.tag, ' ')
hilog.warn(LogHelper.domain, LogHelper.tag, LogHelper.format.repeat(args.length), args)
}
}
/**
* 打印ERROR级别日志
* @param args
*/
static error(...args: string[]): void {
if (LogHelper.showLog) {
hilog.error(LogHelper.domain, LogHelper.tag, ' ')
hilog.error(LogHelper.domain, LogHelper.tag, LogHelper.format.repeat(args.length), args)
}
}
/**
* 打印FATAL级别日志
* @param args
*/
static fatal(...args: string[]): void {
if (LogHelper.showLog) {
hilog.fatal(LogHelper.domain, LogHelper.tag, ' ')
hilog.fatal(LogHelper.domain, LogHelper.tag, LogHelper.format.repeat(args.length), args)
}
}
/**
* 打印JSON对象和JSON字符串
* @param obj
*/
static print(obj: object | string) {
try {
console.debug('')
if (typeof obj === 'object') {
let str = JSON.stringify(obj, null, 2)
let arr: string[] = str.split('\n')
for (let index = 0; index < arr.length; index++) {
console.debug(arr[index])
}
} else {
obj = JSON.parse(obj)
let str = JSON.stringify(obj, null, 2)
let arr = str.split('\n')
for (let index = 0; index < arr.length; index++) {
console.debug(arr[index])
}
}
} catch (err) {
let error = err as BusinessError; //异常了,说明不是JSON字符串
LogHelper.error(`LogHelper-print-异常 ~ code: ${error.code} -·- message: ${error.message}`);
}
}
}