From 6963a8a438be6caed29ee9b8f1e96bc0890fc563 Mon Sep 17 00:00:00 2001 From: gangan liu <315874482@qq.com> Date: Mon, 2 Sep 2024 16:55:48 +0800 Subject: [PATCH] feat(contrib/log/zap): If disable this level of logging entirely, avoid additional overhead (#3357) --- contrib/log/zap/zap.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/contrib/log/zap/zap.go b/contrib/log/zap/zap.go index acf453fe010..812afb95a76 100644 --- a/contrib/log/zap/zap.go +++ b/contrib/log/zap/zap.go @@ -4,6 +4,7 @@ import ( "fmt" "go.uber.org/zap" + "go.uber.org/zap/zapcore" "github.com/go-kratos/kratos/v2/log" ) @@ -32,6 +33,11 @@ func NewLogger(zlog *zap.Logger) *Logger { } func (l *Logger) Log(level log.Level, keyvals ...interface{}) error { + // If logging at this level is completely disabled, skip the overhead of + // string formatting. + if zapcore.Level(level) < zapcore.DPanicLevel && !l.log.Core().Enabled(zapcore.Level(level)) { + return nil + } var ( msg = "" keylen = len(keyvals)