From 804a56bd143366553b469319000d4caea1987d0f Mon Sep 17 00:00:00 2001 From: Kevin Wan Date: Sun, 15 Oct 2023 23:37:45 +0800 Subject: [PATCH] fix: optimize logx for less GC objects (#3627) --- core/logx/richlogger.go | 64 ++++++++++++++++++++++++++++++----------- 1 file changed, 48 insertions(+), 16 deletions(-) diff --git a/core/logx/richlogger.go b/core/logx/richlogger.go index 0357e3974..185a96990 100644 --- a/core/logx/richlogger.go +++ b/core/logx/richlogger.go @@ -41,67 +41,99 @@ type richLogger struct { } func (l *richLogger) Debug(v ...any) { - l.debug(fmt.Sprint(v...)) + if shallLog(DebugLevel) { + l.debug(fmt.Sprint(v...)) + } } func (l *richLogger) Debugf(format string, v ...any) { - l.debug(fmt.Sprintf(format, v...)) + if shallLog(DebugLevel) { + l.debug(fmt.Sprintf(format, v...)) + } } func (l *richLogger) Debugv(v any) { - l.debug(v) + if shallLog(DebugLevel) { + l.debug(v) + } } func (l *richLogger) Debugw(msg string, fields ...LogField) { - l.debug(msg, fields...) + if shallLog(DebugLevel) { + l.debug(msg, fields...) + } } func (l *richLogger) Error(v ...any) { - l.err(fmt.Sprint(v...)) + if shallLog(ErrorLevel) { + l.err(fmt.Sprint(v...)) + } } func (l *richLogger) Errorf(format string, v ...any) { - l.err(fmt.Sprintf(format, v...)) + if shallLog(ErrorLevel) { + l.err(fmt.Sprintf(format, v...)) + } } func (l *richLogger) Errorv(v any) { - l.err(v) + if shallLog(ErrorLevel) { + l.err(v) + } } func (l *richLogger) Errorw(msg string, fields ...LogField) { - l.err(msg, fields...) + if shallLog(ErrorLevel) { + l.err(msg, fields...) + } } func (l *richLogger) Info(v ...any) { - l.info(fmt.Sprint(v...)) + if shallLog(InfoLevel) { + l.info(fmt.Sprint(v...)) + } } func (l *richLogger) Infof(format string, v ...any) { - l.info(fmt.Sprintf(format, v...)) + if shallLog(InfoLevel) { + l.info(fmt.Sprintf(format, v...)) + } } func (l *richLogger) Infov(v any) { - l.info(v) + if shallLog(InfoLevel) { + l.info(v) + } } func (l *richLogger) Infow(msg string, fields ...LogField) { - l.info(msg, fields...) + if shallLog(InfoLevel) { + l.info(msg, fields...) + } } func (l *richLogger) Slow(v ...any) { - l.slow(fmt.Sprint(v...)) + if shallLog(ErrorLevel) { + l.slow(fmt.Sprint(v...)) + } } func (l *richLogger) Slowf(format string, v ...any) { - l.slow(fmt.Sprintf(format, v...)) + if shallLog(ErrorLevel) { + l.slow(fmt.Sprintf(format, v...)) + } } func (l *richLogger) Slowv(v any) { - l.slow(v) + if shallLog(ErrorLevel) { + l.slow(v) + } } func (l *richLogger) Sloww(msg string, fields ...LogField) { - l.slow(msg, fields...) + if shallLog(ErrorLevel) { + l.slow(msg, fields...) + } } func (l *richLogger) WithCallerSkip(skip int) Logger {