1 | import chalk from 'chalk'
|
2 | import logSymbols from 'log-symbols'
|
3 |
|
4 | export 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 |
|
48 | export function errorLog(msg: string) {
|
49 |
|
50 | console.log(`${logSymbols.error} ${msg}`)
|
51 | }
|
52 |
|
53 | export function successLog(msg: string) {
|
54 |
|
55 | console.log(`${logSymbols.success} ${msg}`)
|
56 | }
|
57 |
|
58 | export function warnLog(msg: string) {
|
59 |
|
60 | console.log(`${logSymbols.warning} ${msg}`)
|
61 | }
|