-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathloggers.go
51 lines (40 loc) · 881 Bytes
/
loggers.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
package tigo
import (
"log"
"io"
)
var logger ILogger
type ILogger interface {
Info(v ...interface{})
Notice(v ...interface{})
Warn(v ...interface{})
Err(v ...interface{})
}
type Logger struct {
logger *log.Logger
}
func (i *Logger)Info(v ...interface{}){
v = append([]interface{}{"[INFO]"}, v...)
i.logger.Println(v...)
}
func (i *Logger)Notice(v ...interface{}){
v = append([]interface{}{"[NOTICE]"}, v...)
i.logger.Println(v...)
}
func (i *Logger)Warn(v ...interface{}){
v = append([]interface{}{"[WARN]"}, v...)
i.logger.Println(v...)
}
func (i *Logger)Err(v ...interface{}){
v = append([]interface{}{"[ERR]"}, v...)
i.logger.Println(v...)
}
func NewLogger(out io.Writer, prefix string, flag int)ILogger{
return &Logger{logger: log.New(out, prefix, flag)}
}
func RegistryLogger(log ILogger){
logger = log
}
func GetLogger()ILogger{
return logger
}