UNPKG

1.51 kBPlain TextView Raw
1import chalk from 'chalk'
2import logSymbols from 'log-symbols'
3
4export default class Logger {
5 private moduleName: string
6 constructor(moduleName) {
7 this.moduleName = moduleName
8 }
9
10 genLog(level: string, msg) {
11 const LevelColorMap = {
12 info: 'blue',
13 error: 'red',
14 success: 'green'
15 }
16 return [
17 logSymbols[level],
18 chalk[LevelColorMap[level]](`[${this.moduleName}]`),
19 msg
20 ].join(' ')
21 }
22
23 log(msg) {
24 if (!this.moduleName) {
25 console.log(`${logSymbols.info} ${msg}`)
26 } else {
27 console.log(this.genLog('info', msg))
28 }
29 }
30
31 success(msg) {
32 if (!this.moduleName) {
33 console.log(`${logSymbols.success} ${msg}`)
34 } else {
35 console.log(this.genLog('success', msg))
36 }
37 }
38
39 error(msg) {
40 if (!this.moduleName) {
41 console.log(`${logSymbols.error} ${msg}`)
42 } else {
43 console.log(this.genLog('error', msg))
44 }
45 }
46}
47
48export function errorLog(msg: string) {
49 // 空格,兼容中文字符编码长度问题
50 console.log(`${logSymbols.error} ${msg}`)
51}
52
53export function successLog(msg: string) {
54 // 空格,兼容中文字符编码长度问题
55 console.log(`${logSymbols.success} ${msg}`)
56}
57
58export function warnLog(msg: string) {
59 // 空格,兼容中文字符编码长度问题
60 console.log(`${logSymbols.warning} ${msg}`)
61}