1 | import chalk = require('chalk');
|
2 |
|
3 | /**
|
4 | * 用于标准化命令行输出的格式
|
5 | */
|
6 |
|
7 | export const log = {
|
8 | /**
|
9 | * chalk库
|
10 | */
|
11 | chalk,
|
12 |
|
13 | /**
|
14 | * 格式化console.log输出
|
15 | * [00:00:00] ...
|
16 | *
|
17 | */
|
18 | l(...args: any[]) {
|
19 | console.log(chalk.gray(`[${(new Date).toLocaleTimeString()}] `), ...args);
|
20 | },
|
21 |
|
22 | /**
|
23 | * 格式化console.warn输出
|
24 | * [00:00:00] ...
|
25 | *
|
26 | */
|
27 | w(...args: any[]) {
|
28 | console.warn(chalk.gray(`[${(new Date).toLocaleTimeString()}] `), chalk.yellow(...args));
|
29 | },
|
30 |
|
31 | /**
|
32 | * 格式化console.error输出
|
33 | * [00:00:00] ...
|
34 | *
|
35 | */
|
36 | e(...args: any[]) {
|
37 | console.error(chalk.gray(`[${(new Date).toLocaleTimeString()}] `), chalk.red(...args));
|
38 | },
|
39 |
|
40 | /**
|
41 | * squareN:用方括号包裹打印输出
|
42 | */
|
43 | sn: {
|
44 | /**
|
45 | * 对前n个参数使用方括号包裹,并使用log.l输出
|
46 | *
|
47 | * @param {number} n 对前n个参数使用方括号包裹
|
48 | * @param {...any[]} args
|
49 | */
|
50 | l(n: number, ...args: any[]) {
|
51 | log.l(this.format(n, ...args));
|
52 | },
|
53 |
|
54 | /**
|
55 | * 对前n个参数使用方括号包裹,并使用log.w输出
|
56 | *
|
57 | * @param {number} n 对前n个参数使用方括号包裹
|
58 | * @param {...any[]} args
|
59 | */
|
60 | w(n: number, ...args: any[]) {
|
61 | log.w(this.format(n, ...args));
|
62 | },
|
63 |
|
64 | /**
|
65 | * 对前n个参数使用方括号包裹,并使用log.e输出
|
66 | *
|
67 | * @param {number} n 对前n个参数使用方括号包裹
|
68 | * @param {...any[]} args
|
69 | */
|
70 | e(n: number, ...args: any[]) {
|
71 | log.e(this.format(n, ...args));
|
72 | },
|
73 |
|
74 | /**
|
75 | * 对前n个参数使用方括号包裹,并返回格式化后的结果
|
76 | *
|
77 | * @param {number} n 对前n个参数使用方括号包裹
|
78 | * @param {...any[]} args
|
79 | * @returns {string}
|
80 | */
|
81 | format(n: number, ...args: any[]): string {
|
82 | for (var index = 0; index < n; index++) {
|
83 | args[index] = `[${args[index]}]`;
|
84 | }
|
85 | return args.join(' ');
|
86 | }
|
87 | },
|
88 |
|
89 | /**
|
90 | * square1:简化sn的使用,对第一个参数使用方括号包裹输出
|
91 | */
|
92 | s1: {
|
93 | l(...args: any[]) {
|
94 | log.sn.l(1, ...args);
|
95 | },
|
96 |
|
97 | w(...args: any[]) {
|
98 | log.sn.w(1, ...args);
|
99 | },
|
100 |
|
101 | e(...args: any[]) {
|
102 | log.sn.e(1, ...args);
|
103 | },
|
104 | format(...args: any[]) {
|
105 | return log.sn.format(1, ...args);
|
106 | }
|
107 | },
|
108 |
|
109 | /**
|
110 | * square2:简化sn的使用,对前两个参数使用方括号包裹输出
|
111 | */
|
112 | s2: {
|
113 | l(...args: any[]) {
|
114 | log.sn.l(2, ...args);
|
115 | },
|
116 |
|
117 | w(...args: any[]) {
|
118 | log.sn.w(2, ...args);
|
119 | },
|
120 |
|
121 | e(...args: any[]) {
|
122 | log.sn.e(2, ...args);
|
123 | },
|
124 | format(...args: any[]) {
|
125 | return log.sn.format(2, ...args);
|
126 | }
|
127 | }
|
128 | }; |
\ | No newline at end of file |