LogUtil.ts 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. /** log类 */
  2. export default class LogUtil {
  3. private static openLog = false
  4. private static Tag = "TCSG "
  5. /** 遍历打印obj属性值
  6. * @param tag 名称
  7. * @param obj 要遍历的对象
  8. * @param level 0 普通 1 警告 2 报错
  9. */
  10. static logV(tag, obj, level = 0) {
  11. if (!this.openLog) {
  12. return
  13. }
  14. if (obj == null || obj == undefined) {
  15. this.logLevel(level, '[[' + this.Tag + tag + ']]' + " !! " + obj)
  16. return
  17. }
  18. if (typeof obj === "number" || typeof obj === "string" || typeof obj === "boolean") {
  19. this.logLevel(level, '<' + this.Tag + tag + '> ' + " " + obj)
  20. return
  21. }
  22. let description = this.logObj(obj)
  23. this.logLevel(level, '[' + this.Tag + tag + '] ' + ' \n' + description)
  24. }
  25. private static logObj(obj, space = 1) {
  26. let description = ''
  27. if (obj == null || obj == undefined) {
  28. description += this.getSpaceStr(space) + obj + '\n';
  29. }
  30. else {
  31. for (var i in obj) {
  32. var property = obj[i];
  33. if (typeof property === 'object') {
  34. description += this.getSpaceStr(space) + i + " = " + '\n';
  35. description += this.logObj(property, space + 1)
  36. }
  37. else {
  38. description += this.getSpaceStr(space) + i + " = " + property + '\n';
  39. }
  40. }
  41. }
  42. return description
  43. }
  44. private static getSpaceStr(loop: number): string {
  45. let str = ""
  46. if (loop > 0) {
  47. for (let i = 0; i < loop; i++) {
  48. str += " "
  49. }
  50. return str
  51. }
  52. return str
  53. }
  54. /** 输出log样式
  55. * @param level 级别 0 普通 1 警告 2 报错
  56. * @param str 打印信息
  57. */
  58. private static logLevel(level, str) {
  59. switch (level) {
  60. case 0:
  61. console.log(str)
  62. break;
  63. case 1:
  64. console.warn(str)
  65. break;
  66. case 2:
  67. console.error(str)
  68. break;
  69. }
  70. }
  71. }