From 7b48444a85044bf7a8305452916c8b3aeab06aae Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 18 Apr 2023 12:11:37 +0800 Subject: [PATCH 1/6] zap --- pkg/common/log/zap.go | 44 ++++++++++++++++++++++++++++--------------- 1 file changed, 29 insertions(+), 15 deletions(-) diff --git a/pkg/common/log/zap.go b/pkg/common/log/zap.go index 2f585e781..53974a3a1 100644 --- a/pkg/common/log/zap.go +++ b/pkg/common/log/zap.go @@ -92,7 +92,7 @@ func NewZapLogger(logLevel int, isStdout bool, isJson bool, logLocation string, func (l *ZapLogger) cores(isStdout bool, isJson bool, logLocation string, rotateCount uint) (zap.Option, error) { c := zap.NewDevelopmentEncoderConfig() - c.EncodeTime = zapcore.RFC3339TimeEncoder + c.EncodeTime = l.timeEncoder c.EncodeDuration = zapcore.SecondsDurationEncoder c.MessageKey = "msg" c.LevelKey = "level" @@ -102,21 +102,12 @@ func (l *ZapLogger) cores(isStdout bool, isJson bool, logLocation string, rotate if isJson { c.EncodeLevel = zapcore.CapitalLevelEncoder fileEncoder = zapcore.NewJSONEncoder(c) + fileEncoder.AddInt("PID", os.Getpid()) } else { - c.EncodeLevel = l.CapitalColorLevelEncoder - customCallerEncoder := func(caller zapcore.EntryCaller, enc zapcore.PrimitiveArrayEncoder) { - s := "[" + caller.TrimmedPath() + "]" - color, ok := _levelToColor[l.level] - if !ok { - color = _levelToColor[zapcore.ErrorLevel] - } - enc.AppendString(color.Add(s)) - - } - c.EncodeCaller = customCallerEncoder + c.EncodeLevel = l.capitalColorLevelEncoder + c.EncodeCaller = l.customCallerEncoder fileEncoder = zapcore.NewConsoleEncoder(c) } - fileEncoder.AddInt("PID", os.Getpid()) writer, err := l.getWriter(logLocation, rotateCount) if err != nil { return nil, err @@ -138,6 +129,29 @@ func (l *ZapLogger) cores(isStdout bool, isJson bool, logLocation string, rotate }), nil } +func (l *ZapLogger) customCallerEncoder(caller zapcore.EntryCaller, enc zapcore.PrimitiveArrayEncoder) { + s := "[" + caller.TrimmedPath() + "]" + color, ok := _levelToColor[l.level] + if !ok { + color = _levelToColor[zapcore.ErrorLevel] + } + enc.AppendString(color.Add(s)) + +} + +func (l *ZapLogger) timeEncoder(t time.Time, enc zapcore.PrimitiveArrayEncoder) { + layout := "2006-01-02 15:04:05.000" + type appendTimeEncoder interface { + AppendTimeLayout(time.Time, string) + } + + if enc, ok := enc.(appendTimeEncoder); ok { + enc.AppendTimeLayout(t, layout) + return + } + enc.AppendString(t.Format(layout)) +} + func (l *ZapLogger) getWriter(logLocation string, rorateCount uint) (zapcore.WriteSyncer, error) { logf, err := rotatelogs.New(logLocation+sp+"OpenIM.log.all"+".%Y-%m-%d", rotatelogs.WithRotationCount(rorateCount), @@ -149,15 +163,15 @@ func (l *ZapLogger) getWriter(logLocation string, rorateCount uint) (zapcore.Wri return zapcore.AddSync(logf), nil } -func (l *ZapLogger) CapitalColorLevelEncoder(level zapcore.Level, enc zapcore.PrimitiveArrayEncoder) { +func (l *ZapLogger) capitalColorLevelEncoder(level zapcore.Level, enc zapcore.PrimitiveArrayEncoder) { s, ok := _levelToCapitalColorString[level] if !ok { s = _unknownLevelColor[zapcore.ErrorLevel] } pid := fmt.Sprintf("["+"PID:"+"%d"+"]", os.Getpid()) color := _levelToColor[level] - enc.AppendString(color.Add(pid)) enc.AppendString(s) + enc.AppendString(color.Add(pid)) } func (l *ZapLogger) ToZap() *zap.SugaredLogger { From d61bede62a952a60b568768f0e4229f00f682936 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 18 Apr 2023 12:20:20 +0800 Subject: [PATCH 2/6] logger --- pkg/common/log/zap.go | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/pkg/common/log/zap.go b/pkg/common/log/zap.go index 53974a3a1..487aeb43c 100644 --- a/pkg/common/log/zap.go +++ b/pkg/common/log/zap.go @@ -33,11 +33,14 @@ var ( // InitFromConfig initializes a Zap-based logger func InitFromConfig(name string, logLevel int, isStdout bool, isJson bool, logLocation string, rotateCount uint) error { - l, err := NewZapLogger(logLevel, isStdout, isJson, logLocation, rotateCount) + l, err := NewZapLogger(name, logLevel, isStdout, isJson, logLocation, rotateCount) if err != nil { return err } - pkgLogger = l.WithCallDepth(2).WithName(name) + pkgLogger = l.WithCallDepth(2) + if isJson { + pkgLogger = pkgLogger.WithName(name) + } return nil } @@ -58,11 +61,12 @@ func ZError(ctx context.Context, msg string, err error, keysAndValues ...interfa } type ZapLogger struct { - zap *zap.SugaredLogger - level zapcore.Level + zap *zap.SugaredLogger + level zapcore.Level + loggerName string } -func NewZapLogger(logLevel int, isStdout bool, isJson bool, logLocation string, rotateCount uint) (*ZapLogger, error) { +func NewZapLogger(loggerName string, logLevel int, isStdout bool, isJson bool, logLocation string, rotateCount uint) (*ZapLogger, error) { zapConfig := zap.Config{ Level: zap.NewAtomicLevelAt(logLevelMap[logLevel]), // EncoderConfig: zap.NewProductionEncoderConfig(), @@ -77,7 +81,7 @@ func NewZapLogger(logLevel int, isStdout bool, isJson bool, logLocation string, // if isStdout { // zapConfig.OutputPaths = append(zapConfig.OutputPaths, "stdout", "stderr") // } - zl := &ZapLogger{level: logLevelMap[logLevel]} + zl := &ZapLogger{level: logLevelMap[logLevel], loggerName: loggerName} opts, err := zl.cores(isStdout, isJson, logLocation, rotateCount) if err != nil { return nil, err @@ -172,6 +176,7 @@ func (l *ZapLogger) capitalColorLevelEncoder(level zapcore.Level, enc zapcore.Pr color := _levelToColor[level] enc.AppendString(s) enc.AppendString(color.Add(pid)) + enc.AppendString(color.Add(l.loggerName)) } func (l *ZapLogger) ToZap() *zap.SugaredLogger { From 554c0961c1cd4bc02166b3b028f699e4dff1329a Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 18 Apr 2023 12:21:01 +0800 Subject: [PATCH 3/6] zap --- pkg/common/log/zap.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkg/common/log/zap.go b/pkg/common/log/zap.go index 487aeb43c..ae018d865 100644 --- a/pkg/common/log/zap.go +++ b/pkg/common/log/zap.go @@ -176,7 +176,9 @@ func (l *ZapLogger) capitalColorLevelEncoder(level zapcore.Level, enc zapcore.Pr color := _levelToColor[level] enc.AppendString(s) enc.AppendString(color.Add(pid)) - enc.AppendString(color.Add(l.loggerName)) + if l.loggerName != "" { + enc.AppendString(color.Add(l.loggerName)) + } } func (l *ZapLogger) ToZap() *zap.SugaredLogger { From 7dd93aa395bf502a02013833d76bc4de9be52958 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 18 Apr 2023 13:11:40 +0800 Subject: [PATCH 4/6] zap --- pkg/common/log/zap.go | 1 + 1 file changed, 1 insertion(+) diff --git a/pkg/common/log/zap.go b/pkg/common/log/zap.go index ae018d865..32986d029 100644 --- a/pkg/common/log/zap.go +++ b/pkg/common/log/zap.go @@ -101,6 +101,7 @@ func (l *ZapLogger) cores(isStdout bool, isJson bool, logLocation string, rotate c.MessageKey = "msg" c.LevelKey = "level" c.TimeKey = "time" + c.CallerKey = "caller" var fileEncoder zapcore.Encoder if isJson { From f118705a8f00148279a74c4ed285e3308cb5ff7c Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 18 Apr 2023 14:12:51 +0800 Subject: [PATCH 5/6] zap --- pkg/common/log/zap.go | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/pkg/common/log/zap.go b/pkg/common/log/zap.go index 32986d029..386fbd6c2 100644 --- a/pkg/common/log/zap.go +++ b/pkg/common/log/zap.go @@ -136,11 +136,11 @@ func (l *ZapLogger) cores(isStdout bool, isJson bool, logLocation string, rotate func (l *ZapLogger) customCallerEncoder(caller zapcore.EntryCaller, enc zapcore.PrimitiveArrayEncoder) { s := "[" + caller.TrimmedPath() + "]" - color, ok := _levelToColor[l.level] - if !ok { - color = _levelToColor[zapcore.ErrorLevel] - } - enc.AppendString(color.Add(s)) + // color, ok := _levelToColor[l.level] + // if !ok { + // color = _levelToColor[zapcore.ErrorLevel] + // } + enc.AppendString(s) } @@ -149,7 +149,6 @@ func (l *ZapLogger) timeEncoder(t time.Time, enc zapcore.PrimitiveArrayEncoder) type appendTimeEncoder interface { AppendTimeLayout(time.Time, string) } - if enc, ok := enc.(appendTimeEncoder); ok { enc.AppendTimeLayout(t, layout) return From a2e845ec9f90dece7e92e09c580225e50215dd87 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 18 Apr 2023 14:18:48 +0800 Subject: [PATCH 6/6] zap --- pkg/common/log/zap.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/common/log/zap.go b/pkg/common/log/zap.go index 386fbd6c2..ef13231a0 100644 --- a/pkg/common/log/zap.go +++ b/pkg/common/log/zap.go @@ -247,7 +247,7 @@ func (l *ZapLogger) WithValues(keysAndValues ...interface{}) Logger { func (l *ZapLogger) WithName(name string) Logger { dup := *l - dup.zap = l.zap.Named(_levelToColor[l.level].Add(name)) + dup.zap = l.zap.Named(name) return &dup }