Переглянути джерело

[add] zap 인코딩 및 로그 컨픽 파일 분리

master
kidjung 4 роки тому
джерело
коміт
5266ddb2a7
1 змінених файлів з 40 додано та 0 видалено
  1. 40
    0
      src/broker/modules/logConfig.go

+ 40
- 0
src/broker/modules/logConfig.go Переглянути файл

@@ -0,0 +1,40 @@
1
+package modules
2
+
3
+import (
4
+	"go.uber.org/zap"
5
+	"go.uber.org/zap/zapcore"
6
+)
7
+
8
+func MyEncoderConfig() zapcore.EncoderConfig {
9
+	return zapcore.EncoderConfig{
10
+		// Keys can be anything except the empty string.
11
+		TimeKey:  "T",
12
+		LevelKey: "L",
13
+		NameKey:  "N",
14
+		//CallerKey:      "C",
15
+		FunctionKey:    zapcore.OmitKey,
16
+		MessageKey:     "M",
17
+		StacktraceKey:  "S",
18
+		LineEnding:     zapcore.DefaultLineEnding,
19
+		EncodeLevel:    zapcore.CapitalLevelEncoder,
20
+		EncodeTime:     zapcore.ISO8601TimeEncoder,
21
+		EncodeDuration: zapcore.StringDurationEncoder,
22
+		EncodeCaller:   zapcore.ShortCallerEncoder,
23
+	}
24
+}
25
+
26
+func newLogger() *zap.Logger {
27
+	cfg := zap.Config{
28
+		Level:            zap.NewAtomicLevelAt(zap.DebugLevel),
29
+		Development:      true,
30
+		Encoding:         "console",
31
+		EncoderConfig:    MyEncoderConfig(),
32
+		OutputPaths:      []string{"stdout"},
33
+		ErrorOutputPaths: []string{"stderr"},
34
+	}
35
+	logger, err := cfg.Build()
36
+	if err != nil {
37
+		panic(err)
38
+	}
39
+	return logger
40
+}

Завантаження…
Відмінити
Зберегти