/
logger.go
56 lines (47 loc) · 1.29 KB
/
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
package logger
import (
"fmt"
"go.uber.org/zap"
)
// log is A global variable so that log functions can be directly accessed
var log *zap.Logger
// Fields Type to pass when we want to call WithFields for structured logging
type Fields map[string]interface{}
// Logger is a contract for the logger
type Logger interface {
Info(args ...interface{})
Warn(args ...interface{})
Error(args ...interface{})
}
// Init init log
func Init(cfg *Config) *zap.Logger {
var err error
// new zap logger
log, err = newZapLogger(cfg)
if err != nil {
_ = fmt.Errorf("init newZapLogger err: %v", err)
}
return log
}
// GetLogger return a log
func GetLogger() *zap.Logger {
return log
}
// Info logger
func Info(msg string, fields ...zap.Field) {
//requestId := new(http.Request).Header.Get("request_id")
//fields = append(fields, zap.String("request_id", requestId))
log.Info(msg, fields...)
}
// Warn logger
func Warn(msg string, fields ...zap.Field) {
//requestId := new(http.Request).Header.Get("request_id")
//fields = append(fields, zap.String("request_id", requestId))
log.Warn(msg, fields...)
}
// Error logger
func Error(msg string, fields ...zap.Field) {
//requestId := new(http.Request).Header.Get("request_id")
//fields = append(fields, zap.String("request_id", requestId))
log.Error(msg, fields...)
}