在鸿蒙原生开发中,推荐使用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 ---------------
后面会继续补充不足之处。