/** log类 */ export default class LogUtil { private static openLog = false private static Tag = "TCSG " /** 遍历打印obj属性值 * @param tag 名称 * @param obj 要遍历的对象 * @param level 0 普通 1 警告 2 报错 */ static logV(tag, obj, level = 0) { if (!this.openLog) { return } if (obj == null || obj == undefined) { this.logLevel(level, '[[' + this.Tag + tag + ']]' + " !! " + obj) return } if (typeof obj === "number" || typeof obj === "string" || typeof obj === "boolean") { this.logLevel(level, '<' + this.Tag + tag + '> ' + " " + obj) return } let description = this.logObj(obj) this.logLevel(level, '[' + this.Tag + tag + '] ' + ' \n' + description) } private static logObj(obj, space = 1) { let description = '' if (obj == null || obj == undefined) { description += this.getSpaceStr(space) + obj + '\n'; } else { for (var i in obj) { var property = obj[i]; if (typeof property === 'object') { description += this.getSpaceStr(space) + i + " = " + '\n'; description += this.logObj(property, space + 1) } else { description += this.getSpaceStr(space) + i + " = " + property + '\n'; } } } return description } private static getSpaceStr(loop: number): string { let str = "" if (loop > 0) { for (let i = 0; i < loop; i++) { str += " " } return str } return str } /** 输出log样式 * @param level 级别 0 普通 1 警告 2 报错 * @param str 打印信息 */ private static logLevel(level, str) { switch (level) { case 0: console.log(str) break; case 1: console.warn(str) break; case 2: console.error(str) break; } } }