From f65ba199b9d2d57093516588a8f2c9b69717b971 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E5=8F=AF?= Date: Wed, 26 Oct 2022 12:43:49 +0800 Subject: [PATCH] chore: improve xgrpclog --- pkg/core/xgrpclog/logger.go | 34 +++++++++++++++++++++++++++++----- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/pkg/core/xgrpclog/logger.go b/pkg/core/xgrpclog/logger.go index 5d17c39af5..d5c4440992 100644 --- a/pkg/core/xgrpclog/logger.go +++ b/pkg/core/xgrpclog/logger.go @@ -5,10 +5,28 @@ import ( "github.com/douyu/jupiter/pkg/xlog" "go.uber.org/zap" + "go.uber.org/zap/zapcore" "google.golang.org/grpc/grpclog" ) -const defaultCallerSkip = 4 +const ( + defaultCallerSkip = 4 + + // See https://github.com/grpc/grpc-go/blob/v1.35.0/grpclog/loggerv2.go#L77-L86 + grpcLvlInfo = 0 + grpcLvlWarn = 1 + grpcLvlError = 2 + grpcLvlFatal = 3 +) + +var ( + grpcToZapLevel = map[int]zapcore.Level{ + grpcLvlInfo: zapcore.DebugLevel, + grpcLvlWarn: zapcore.WarnLevel, + grpcLvlError: zapcore.ErrorLevel, + grpcLvlFatal: zapcore.FatalLevel, + } +) // SetLogger sets loggerWrapper to grpclog func SetLogger(logger *xlog.Logger) { @@ -29,7 +47,9 @@ func (l *loggerWrapper) Info(args ...interface{}) { // Infoln logs to INFO log func (l *loggerWrapper) Infoln(args ...interface{}) { - l.logger.Info(sprint(args...)) + if l.logger.Core().Enabled(grpcToZapLevel[grpcLvlInfo]) { + l.logger.Info(sprint(args...)) + } } // Infof logs to INFO log @@ -44,7 +64,9 @@ func (l *loggerWrapper) Warning(args ...interface{}) { // Warning logs to WARNING log func (l *loggerWrapper) Warningln(args ...interface{}) { - l.logger.Warn(sprint(args...)) + if l.logger.Core().Enabled(grpcToZapLevel[grpcLvlWarn]) { + l.logger.Warn(sprint(args...)) + } } // Warning logs to WARNING log @@ -59,7 +81,9 @@ func (l *loggerWrapper) Error(args ...interface{}) { // Errorn logs to ERROR log func (l *loggerWrapper) Errorln(args ...interface{}) { - l.logger.Error(sprint(args...)) + if l.logger.Core().Enabled(grpcToZapLevel[grpcLvlError]) { + l.logger.Error(sprint(args...)) + } } // Errorf logs to ERROR log @@ -84,7 +108,7 @@ func (l *loggerWrapper) Fatalf(format string, args ...interface{}) { // v returns true for all verbose level. func (l *loggerWrapper) V(v int) bool { - return true + return l.logger.Core().Enabled(grpcToZapLevel[v]) } func sprint(args ...interface{}) string {