added log level field on stordb opts for controlling sql verbosity

This commit is contained in:
gezimbll
2025-02-19 12:55:19 +01:00
committed by Dan Christian Bogos
parent ce764e48bb
commit dd5906e46e
12 changed files with 26 additions and 12 deletions

View File

@@ -25,6 +25,7 @@ import (
"github.com/cgrates/cgrates/utils"
"gorm.io/driver/mysql"
"gorm.io/gorm"
"gorm.io/gorm/logger"
)
type MySQLStorage struct {
@@ -32,11 +33,10 @@ type MySQLStorage struct {
}
func NewMySQLStorage(host, port, name, user, password string,
maxConn, maxIdleConn int, connMaxLifetime time.Duration, location string, dsnParams map[string]string) (*SQLStorage, error) {
maxConn, maxIdleConn, logLevel int, connMaxLifetime time.Duration, location string, dsnParams map[string]string) (*SQLStorage, error) {
connectString := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8&loc=%s&parseTime=true&sql_mode='ALLOW_INVALID_DATES'",
user, password, host, port, name, location)
db, err := gorm.Open(mysql.Open(connectString+AppendToMysqlDSNOpts(dsnParams)), &gorm.Config{AllowGlobalUpdate: true})
db, err := gorm.Open(mysql.Open(connectString+AppendToMysqlDSNOpts(dsnParams)), &gorm.Config{AllowGlobalUpdate: true, Logger: logger.Default.LogMode(logger.LogLevel(logLevel))})
if err != nil {
return nil, err
}

View File

@@ -25,12 +25,13 @@ import (
"github.com/cgrates/cgrates/utils"
"gorm.io/driver/postgres"
"gorm.io/gorm"
"gorm.io/gorm/logger"
)
// NewPostgresStorage returns the posgres storDB
func NewPostgresStorage(host, port, name, user, password, pgSchema,
sslmode, sslcert, sslkey, sslpassword, sslcertmode, sslrootcert string,
maxConn, maxIdleConn int, connMaxLifetime time.Duration) (*SQLStorage, error) {
maxConn, maxIdleConn, logLevel int, connMaxLifetime time.Duration) (*SQLStorage, error) {
connStr := fmt.Sprintf(
"host=%s port=%s dbname=%s user=%s password=%s sslmode=%s",
host, port, name, user, password, sslmode)
@@ -49,7 +50,7 @@ func NewPostgresStorage(host, port, name, user, password, pgSchema,
if sslrootcert != "" {
connStr = connStr + " sslrootcert=" + sslrootcert
}
db, err := gorm.Open(postgres.Open(connStr), &gorm.Config{AllowGlobalUpdate: true})
db, err := gorm.Open(postgres.Open(connStr), &gorm.Config{AllowGlobalUpdate: true, Logger: logger.Default.LogMode(logger.LogLevel(logLevel))})
if err != nil {
return nil, err
}

View File

@@ -72,9 +72,9 @@ func NewStorDBConn(dbType, host, port, name, user, pass, marshaler string,
case utils.MetaPostgres:
db, err = NewPostgresStorage(host, port, name, user, pass, opts.PgSchema, opts.PgSSLMode,
opts.PgSSLCert, opts.PgSSLKey, opts.PgSSLPassword, opts.PgSSLCertMode, opts.PgSSLRootCert,
opts.SQLMaxOpenConns, opts.SQLMaxIdleConns, opts.SQLConnMaxLifetime)
opts.SQLMaxOpenConns, opts.SQLMaxIdleConns, opts.SQLLogLevel, opts.SQLConnMaxLifetime)
case utils.MetaMySQL:
db, err = NewMySQLStorage(host, port, name, user, pass, opts.SQLMaxOpenConns, opts.SQLMaxIdleConns,
db, err = NewMySQLStorage(host, port, name, user, pass, opts.SQLMaxOpenConns, opts.SQLMaxIdleConns, opts.SQLLogLevel,
opts.SQLConnMaxLifetime, opts.MySQLLocation, opts.MySQLDSNParams)
case utils.MetaInternal:
db = NewInternalDB(stringIndexedFields, prefixIndexedFields, false, itmsCfg)

View File

@@ -93,7 +93,7 @@ func testActionsInitCdrsStore(t *testing.T) {
if actsCdrStore, err = NewMySQLStorage(actsCfg.StorDbCfg().Host,
actsCfg.StorDbCfg().Port, actsCfg.StorDbCfg().Name,
actsCfg.StorDbCfg().User, actsCfg.StorDbCfg().Password,
100, 10, 0, "UTC", make(map[string]string)); err != nil {
100, 10, 1, 0, "UTC", make(map[string]string)); err != nil {
t.Fatal("Could not connect to mysql", err.Error())
}
case utils.MetaMongo:

View File

@@ -86,7 +86,7 @@ func TestStorDBit(t *testing.T) {
if storDB, err = NewMySQLStorage(storDBCfg.StorDbCfg().Host,
storDBCfg.StorDbCfg().Port, storDBCfg.StorDbCfg().Name,
storDBCfg.StorDbCfg().User, storDBCfg.StorDbCfg().Password,
100, 10, 0, "UTC", make(map[string]string)); err != nil {
100, 10, 1, 0, "UTC", make(map[string]string)); err != nil {
t.Fatal(err)
}
storDB.(*SQLStorage).db.Config.Logger = logger.Default.LogMode(logger.Silent)
@@ -112,7 +112,7 @@ func TestStorDBit(t *testing.T) {
storDBCfg.StorDbCfg().Opts.PgSSLMode, storDBCfg.StorDbCfg().Opts.PgSSLCert,
storDBCfg.StorDbCfg().Opts.PgSSLKey, storDBCfg.StorDbCfg().Opts.PgSSLPassword,
storDBCfg.StorDbCfg().Opts.PgSSLCertMode, storDBCfg.StorDbCfg().Opts.PgSSLRootCert,
100, 10, 0); err != nil {
100, 10, 1, 0); err != nil {
t.Fatal(err)
}
storDB.(*SQLStorage).db.Config.Logger = logger.Default.LogMode(logger.Silent)