From a9c3877441ab8861ff31db299567c4337aed402a Mon Sep 17 00:00:00 2001 From: Daniel Bedrood Date: Fri, 17 Feb 2023 13:59:47 +0100 Subject: [PATCH] feat: Gorm logger only logs on trace --- pkg/logger/gorm.go | 23 +++-------------------- pkg/logger/gorm_test.go | 10 +++++----- 2 files changed, 8 insertions(+), 25 deletions(-) diff --git a/pkg/logger/gorm.go b/pkg/logger/gorm.go index 7abd547e..cb8a726b 100644 --- a/pkg/logger/gorm.go +++ b/pkg/logger/gorm.go @@ -2,12 +2,9 @@ package logger import ( "context" - "errors" "fmt" "time" - "github.com/sirupsen/logrus" - "gorm.io/gorm" "gorm.io/gorm/logger" ) @@ -53,25 +50,11 @@ func (g gormLogger) Trace(ctx context.Context, begin time.Time, fc func() (strin }, }) - if err == nil { - l.Tracef("%s", gormLoggerMsg) + if err != nil { + l.WithError(err).Tracef(gormLoggerMsg) return } - if errors.Is(err, gorm.ErrRecordNotFound) { - l.Tracef(err.Error()) - - return - } - - l.WithError(err).Errorf(gormLoggerMsg) -} - -func (g gormLogger) ParamsFilter(ctx context.Context, sql string, params ...interface{}) (string, []interface{}) { - if g.logger.Level() == logrus.TraceLevel { - return sql, params - } - - return sql, nil + l.Tracef(gormLoggerMsg) } diff --git a/pkg/logger/gorm_test.go b/pkg/logger/gorm_test.go index 8d5c0e7a..22abcf99 100644 --- a/pkg/logger/gorm_test.go +++ b/pkg/logger/gorm_test.go @@ -60,8 +60,8 @@ func TestNewGormLogger(t *testing.T) { }, }, { - name: "Print on error log level with error", - isLogged: true, + name: "Empty on error log level with error", + isLogged: false, resultError: true, cfg: Config{ ConsoleEnabled: true, @@ -80,8 +80,8 @@ func TestNewGormLogger(t *testing.T) { }, }, { - name: "Print on debug log level with error", - isLogged: true, + name: "Empty on debug log level with error", + isLogged: false, resultError: true, cfg: Config{ ConsoleEnabled: true, @@ -146,7 +146,7 @@ func TestNewGormLogger(t *testing.T) { assert.Contains(t, fields["sql"], "affected_rows") if tt.resultError { - assert.Equal(t, fields["level"], "error") + assert.Equal(t, fields["level"], "trace") assert.Contains(t, buffer.String(), "error") assert.Equal(t, fields["error"], testDBErrorMsg) } else {