From 2a49abc74a5ee6abf8881bb7d9fbec7f1c2e1b30 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 14 Mar 2023 20:05:48 +0800 Subject: [PATCH 1/4] zap --- internal/api/a2r/api2rpc.go | 2 -- pkg/common/log/zap.go | 5 ----- pkg/common/mw/rpc_server_interceptor.go | 13 +++++++------ 3 files changed, 7 insertions(+), 13 deletions(-) diff --git a/internal/api/a2r/api2rpc.go b/internal/api/a2r/api2rpc.go index 70119d85d..ecdce542d 100644 --- a/internal/api/a2r/api2rpc.go +++ b/internal/api/a2r/api2rpc.go @@ -27,13 +27,11 @@ func Call[A, B, C any]( } cli, err := client() if err != nil { - log.ZError(c, "get rpc client conn failed", err) apiresp.GinError(c, errs.ErrInternalServer.Wrap(err.Error())) // 获取RPC连接失败 return } data, err := rpc(cli, c, &req) if err != nil { - log.ZError(c, "rpc call failed", err) apiresp.GinError(c, err) // RPC调用失败 return } diff --git a/pkg/common/log/zap.go b/pkg/common/log/zap.go index 5fe5eefdd..6b809c351 100644 --- a/pkg/common/log/zap.go +++ b/pkg/common/log/zap.go @@ -56,7 +56,6 @@ type ZapLogger struct { func NewZapLogger() (*ZapLogger, error) { zapConfig := zap.Config{ Level: zap.NewAtomicLevelAt(zapcore.DebugLevel), - Development: true, Encoding: "json", EncoderConfig: zap.NewProductionEncoderConfig(), DisableStacktrace: true, @@ -78,10 +77,6 @@ func NewZapLogger() (*ZapLogger, error) { return zl, nil } -func (l *ZapLogger) timeEncoder(t time.Time, enc zapcore.PrimitiveArrayEncoder) { - enc.AppendString(t.Format("2006-01-02 15:04:05")) -} - func (l *ZapLogger) cores() (zap.Option, error) { c := zap.NewProductionEncoderConfig() c.EncodeTime = zapcore.ISO8601TimeEncoder diff --git a/pkg/common/mw/rpc_server_interceptor.go b/pkg/common/mw/rpc_server_interceptor.go index 4ce070026..78b98681a 100644 --- a/pkg/common/mw/rpc_server_interceptor.go +++ b/pkg/common/mw/rpc_server_interceptor.go @@ -4,6 +4,7 @@ import ( "OpenIM/pkg/common/log" "OpenIM/pkg/common/mw/specialerror" "OpenIM/pkg/errs" + "OpenIM/pkg/proto/wrapperspb" "context" "fmt" "google.golang.org/grpc" @@ -65,12 +66,12 @@ func rpcServerInterceptor(ctx context.Context, req interface{}, info *grpc.Unary code = errs.ServerInternalError } grpcStatus := status.New(codes.Code(code), codeErr.Msg()) - //if unwrap != err { - // stack := fmt.Sprintf("%+v", err) - // if details, err := grpcStatus.WithDetails(wrapperspb.String(stack)); err == nil { - // grpcStatus = details - // } - //} + if unwrap != err { + stack := fmt.Sprintf("%+v", err) + if details, err := grpcStatus.WithDetails(wrapperspb.String(stack)); err == nil { + grpcStatus = details + } + } log.ZWarn(ctx, "rpc resp", unwrap, "funcName", funcName) return nil, grpcStatus.Err() } From fcbcfbb17cd4502a6d144b993732ad066573cd71 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 14 Mar 2023 20:09:26 +0800 Subject: [PATCH 2/4] Merge branch 'errcode' of github.com:OpenIMSDK/Open-IM-Server into errcode # Conflicts: # pkg/common/mw/rpc_server_interceptor.go --- internal/api/a2r/api2rpc.go | 1 - 1 file changed, 1 deletion(-) diff --git a/internal/api/a2r/api2rpc.go b/internal/api/a2r/api2rpc.go index ecdce542d..33f69f7ac 100644 --- a/internal/api/a2r/api2rpc.go +++ b/internal/api/a2r/api2rpc.go @@ -2,7 +2,6 @@ package a2r import ( "OpenIM/internal/apiresp" - "OpenIM/pkg/common/log" "OpenIM/pkg/errs" "context" "github.com/gin-gonic/gin" From 6de048d84f039dd62cba5a9d109392492b2ab057 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 14 Mar 2023 20:16:52 +0800 Subject: [PATCH 3/4] Merge branch 'errcode' of github.com:OpenIMSDK/Open-IM-Server into errcode # Conflicts: # pkg/common/mw/rpc_server_interceptor.go --- pkg/common/log/zap.go | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/pkg/common/log/zap.go b/pkg/common/log/zap.go index 6b809c351..1698d0582 100644 --- a/pkg/common/log/zap.go +++ b/pkg/common/log/zap.go @@ -47,10 +47,6 @@ func ZError(ctx context.Context, msg string, err error, keysAndValues ...interfa type ZapLogger struct { zap *zap.SugaredLogger - // store original logger without sampling to avoid multiple samplers - SampleDuration time.Duration - SampleInitial int - SampleInterval int } func NewZapLogger() (*ZapLogger, error) { @@ -61,10 +57,10 @@ func NewZapLogger() (*ZapLogger, error) { DisableStacktrace: true, InitialFields: map[string]interface{}{"PID": os.Getegid()}, } - zl := &ZapLogger{} if config.Config.Log.Stderr { zapConfig.OutputPaths = append(zapConfig.OutputPaths, "stderr") } + zl := &ZapLogger{} opts, err := zl.cores() if err != nil { return nil, err From 3bc6e66b1ad668dcbf83c7c33b0a10cd7f6d6f2d Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 14 Mar 2023 20:30:04 +0800 Subject: [PATCH 4/4] Merge branch 'errcode' of github.com:OpenIMSDK/Open-IM-Server into errcode # Conflicts: # pkg/common/mw/rpc_server_interceptor.go --- pkg/common/log/zap.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkg/common/log/zap.go b/pkg/common/log/zap.go index 1698d0582..18a11b7c2 100644 --- a/pkg/common/log/zap.go +++ b/pkg/common/log/zap.go @@ -70,6 +70,7 @@ func NewZapLogger() (*ZapLogger, error) { return nil, err } zl.zap = l.Sugar() + zl.zap.WithOptions(zap.AddStacktrace(zap.DPanicLevel)) return zl, nil } @@ -102,6 +103,14 @@ func (l *ZapLogger) cores() (zap.Option, error) { }), nil } +func NewErrStackCore(c zapcore.Core) zapcore.Core { + return &errStackCore{c} +} + +type errStackCore struct { + zapcore.Core +} + func (l *ZapLogger) getWriter() (zapcore.WriteSyncer, error) { logf, err := rotatelogs.New(config.Config.Log.StorageLocation+sp+"OpenIM.log.all"+".%Y-%m-%d", rotatelogs.WithRotationCount(config.Config.Log.RemainRotationCount),