-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathzap.go
40 lines (36 loc) · 1.48 KB
/
zap.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
package defaultset
import (
"go.uber.org/zap"
"go.uber.org/zap/zapcore"
)
var Logger *zap.Logger
func getZapConfig() zap.Config {
cfg := zap.Config{
Encoding: "console", // 日志编码格式
Level: zap.NewAtomicLevelAt(zap.InfoLevel), // 日志级别
OutputPaths: []string{"ecs.log"}, // 输出路径,可以是多个文件
ErrorOutputPaths: []string{}, // 错误输出路径,可以是多个文件
EncoderConfig: zapcore.EncoderConfig{
TimeKey: "timestamp", // 时间字段名称
LevelKey: "level", // 日志级别字段名称
NameKey: "logger", // 日志记录器名称字段名称
CallerKey: "caller", // 调用者信息字段名称
MessageKey: "message", // 日志消息字段名称
StacktraceKey: "stacktrace", // 堆栈跟踪信息字段名称
EncodeLevel: zapcore.LowercaseLevelEncoder, // 小写格式的日志级别编码器
EncodeTime: zapcore.ISO8601TimeEncoder, // ISO8601 时间格式编码器
EncodeCaller: zapcore.ShortCallerEncoder, // 编码短调用者信息
},
}
return cfg
}
// InitLogger 初始化日志记录器
func InitLogger() {
// 配置日志记录器
cfg := getZapConfig()
var err error
Logger, err = cfg.Build()
if err != nil {
panic("failed to initialize logger: " + err.Error())
}
}