From 99856af4ded55b8623229bb9f7d0fc2934248cfa Mon Sep 17 00:00:00 2001 From: Gabriel Adrian Samfira Date: Tue, 6 Sep 2022 21:35:01 +0300 Subject: [PATCH] Silence gorm default logger Disable the default logger for gorm when debug is not set on the sql store backend. By default gorm will print error level log messages, which includes queries which find no results, which is not really an error. These messages will show up if debug is enabled on the sql store backend. Signed-off-by: Gabriel Adrian Samfira --- database/sql/sql.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/database/sql/sql.go b/database/sql/sql.go index d5d6ee31..21c8e566 100644 --- a/database/sql/sql.go +++ b/database/sql/sql.go @@ -21,6 +21,7 @@ import ( "gorm.io/driver/mysql" "gorm.io/driver/sqlite" "gorm.io/gorm" + "gorm.io/gorm/logger" "garm/config" "garm/database/common" @@ -32,11 +33,17 @@ func newDBConn(dbCfg config.Database) (conn *gorm.DB, err error) { if err != nil { return nil, errors.Wrap(err, "getting DB URI string") } + + gormConfig := &gorm.Config{} + if !dbCfg.Debug { + gormConfig.Logger = logger.Default.LogMode(logger.Silent) + } + switch dbType { case config.MySQLBackend: - conn, err = gorm.Open(mysql.Open(connURI), &gorm.Config{}) + conn, err = gorm.Open(mysql.Open(connURI), gormConfig) case config.SQLiteBackend: - conn, err = gorm.Open(sqlite.Open(connURI), &gorm.Config{}) + conn, err = gorm.Open(sqlite.Open(connURI), gormConfig) } if err != nil { return nil, errors.Wrap(err, "connecting to database")