/
level.go
70 lines (65 loc) · 1.07 KB
/
level.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package log
// Level 日志级别.
type Level int
const (
//LogFatal fatal.
LogFatal Level = iota
//LogError error.
LogError
//LogWarning warning.
LogWarning
//LogInfo info.
LogInfo
//LogDebug debug.
LogDebug
)
// stringToLevel 字符串转Level.
func stringToLevel(level string) Level {
switch level {
case "fatal":
return LogFatal
case "error":
return LogError
case "warn":
return LogWarning
case "warning":
return LogWarning
case "debug":
return LogDebug
case "info":
return LogInfo
}
return LogDebug
}
// Level Level 转字符串.
func (l Level) String() string {
switch l {
case LogFatal:
return "fatal"
case LogError:
return "error"
case LogWarning:
return "warning"
case LogDebug:
return "debug"
case LogInfo:
return "info"
}
return "unknown"
}
// color Level转颜色.
func (l Level) color() string {
switch l {
case LogFatal:
return "\033[0;31m"
case LogError:
return "\033[0;31m"
case LogWarning:
return "\033[0;33m"
case LogDebug:
return "\033[0;36m"
case LogInfo:
return "\033[0;32m"
}
return "\033[0;37m"
}