继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

HarmonyOS NEXT hiLog日志类封装

水滴石轩
关注TA
已关注
手记 17
粉丝 0
获赞 3

在鸿蒙原生开发中,推荐使用hiLog日志来打印我们需要查看的数据,在写hiLog日志时,需要入参四个参数来设置

hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate');
其中第一个参数domain,是不需要处理的,按照默认值来展示就好;

第二个参数 prefix,在封装类中我们可以统一设置同一个值,方便检索同一个应用下的日志信息,筛除掉系统日志和隐藏应用的日志影响,提高我们定位问题的效率;

第三个参数和第四个参数是相互对照的,需要指定相应参数打印的方式,是public还是private;正常我们debug开发时,全部设置为public就好,发release时需要设置debugModel模式,避免用户使用时,因HiLog日志打印影响性能

const MAX_LENGTH = 3500;

static debug(...args: string[]): void {
if (this.isModelDebug) {
if (!args || args.length < 1) {
return;
}

  let argsLength = args.length;
  let format = '';
  let length = 0;
  let index = 0;
  for (index = 0; index <= argsLength - 1; index++) {
    format = format + '%{public}s,';
    let currentLength = length + args[index]?.length;
    if (currentLength > MAX_LENGTH) {
      args[index] = args[index].substring(0, MAX_LENGTH-length);
      index ++;
      break;
    } else {
      length = currentLength;
    }
  }

  format = format.substring(0, format.length - 1);
  hilog.debug(0x0000, 'CustomPrefix', format, args.slice(0, index));
}

}
MAX_LENGTH设置是为了一次打印太多数据影响我们调试,这个也可以根据个人业务需求来设置。

----------------- end ---------------

后面会继续补充不足之处。

打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP