|
@@ -0,0 +1,94 @@
|
|
|
|
|
+/**日志打印工具类
|
|
|
|
|
+ * @description
|
|
|
|
|
+ * @author 冯聪
|
|
|
|
|
+ */
|
|
|
|
|
+export default class LogUtil {
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 标签符号
|
|
|
|
|
+ * @description 标签与打印内容之间的拼接符号
|
|
|
|
|
+ */
|
|
|
|
|
+ private static _tagChar: string = ": ";
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 对象key&value间隔符号
|
|
|
|
|
+ * @description 打印对象时,key与value之间的拼接符号
|
|
|
|
|
+ */
|
|
|
|
|
+ private static _keyValueChar: string = " = ";
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 打印普通日志
|
|
|
|
|
+ * @description
|
|
|
|
|
+ * @param tag 日志标签(用于标识日志)
|
|
|
|
|
+ * @param data 日志内容
|
|
|
|
|
+ */
|
|
|
|
|
+ public static log(tag: string, ...data: any[]) {
|
|
|
|
|
+ console.log(tag, this._tagChar, ...data);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 打印警告日志
|
|
|
|
|
+ * @description
|
|
|
|
|
+ * @param tag 日志标签(用于标识日志)
|
|
|
|
|
+ * @param data 日志内容
|
|
|
|
|
+ */
|
|
|
|
|
+ public static warn(tag: string, ...data: any[]) {
|
|
|
|
|
+ console.warn(tag, this._tagChar, ...data);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 打印错误日志
|
|
|
|
|
+ * @description
|
|
|
|
|
+ * @param tag 日志标签(用于标识日志)
|
|
|
|
|
+ * @param data 日志内容
|
|
|
|
|
+ */
|
|
|
|
|
+ public static error(tag: string, ...data: any[]) {
|
|
|
|
|
+ console.error(tag, this._tagChar, ...data);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 打印单个对象日志
|
|
|
|
|
+ * @description 逐个分层打印所有对象的key,value值
|
|
|
|
|
+ * @param tag 日志标签(用于标识日志)
|
|
|
|
|
+ * @param obj 日志对象
|
|
|
|
|
+ * @param frontStrNum 前缀字符数量(不用填)
|
|
|
|
|
+ * @returns
|
|
|
|
|
+ */
|
|
|
|
|
+ public static logSingle(tag: string, obj: any, frontStrNum: number = 0) {
|
|
|
|
|
+ if (obj == null || obj == undefined) {
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (typeof obj === "number" || typeof obj === "string" || typeof obj === "boolean") {
|
|
|
|
|
+ this.log(`${this.getFrontStr(frontStrNum)}${tag}`, obj);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ for (const key of Object.keys(obj)) {
|
|
|
|
|
+ if (obj.hasOwnProperty(key)) {
|
|
|
|
|
+ if (typeof obj[key] === "object") {
|
|
|
|
|
+ this.log(`${this.getFrontStr(frontStrNum)}${tag}` + key + this._keyValueChar)
|
|
|
|
|
+ this.logSingle(tag, obj[key], ++frontStrNum);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.log(`${this.getFrontStr(frontStrNum)}${tag}`, key, this._keyValueChar, obj[key]);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 获取前缀字符串
|
|
|
|
|
+ * @description 根据前缀字符串数目生成前缀字符串,用以标记层级
|
|
|
|
|
+ * @param frontStrNum 字符串数量
|
|
|
|
|
+ * @returns 返回前缀字符串(string)
|
|
|
|
|
+ */
|
|
|
|
|
+ private static getFrontStr(frontStrNum: number): string {
|
|
|
|
|
+ let str = "";
|
|
|
|
|
+ if (frontStrNum > 0) {
|
|
|
|
|
+ for (let i = 0; i < frontStrNum; i++) {
|
|
|
|
|
+ str += "--"
|
|
|
|
|
+ }
|
|
|
|
|
+ return str;
|
|
|
|
|
+ }
|
|
|
|
|
+ return str;
|
|
|
|
|
+ }
|
|
|
|
|
+}
|