-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlogger.go
58 lines (48 loc) · 935 Bytes
/
logger.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
package levellogger
import "log"
const (
//OffLevel OffLevel
OffLevel = 0
//InfoLevel InfoLevel
InfoLevel = 1
//DebugLevel DebugLevel
DebugLevel = 2
//AllLevel AllLevel
AllLevel = 3
)
// Log Log
type Log interface {
Info(val ...any)
Debug(val ...any)
Error(val ...any)
SetLogLevel(level int)
}
// Logger Logger
type Logger struct {
LogLevel int
}
// New New
func (l *Logger) New() Log {
return l
}
// Info Info
func (l *Logger) Info(val ...any) {
if l.LogLevel == InfoLevel || l.LogLevel == AllLevel {
log.Println("INFO: ", val)
}
}
// Debug Debug
func (l *Logger) Debug(val ...any) {
if l.LogLevel == DebugLevel || l.LogLevel == AllLevel {
log.Println("DEBUG: ", val)
}
}
// Error Error
func (l *Logger) Error(val ...any) {
log.Println("ERROR: ", val)
}
// SetLogLevel SetLogLevel
func (l *Logger) SetLogLevel(level int) {
l.LogLevel = level
}
//go mod init github.com/GolangToolKits/go-level-logger