Change logging to be json comaptible
This commit is contained in:
@@ -5,6 +5,8 @@ import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"ResendIt/internal/logger"
|
||||
|
||||
"gorm.io/driver/mysql"
|
||||
"gorm.io/driver/postgres"
|
||||
"gorm.io/driver/sqlite"
|
||||
@@ -21,19 +23,43 @@ func Connect() (*gorm.DB, error) {
|
||||
dsn = "./data/database.db"
|
||||
}
|
||||
|
||||
logger.Log.Info().
|
||||
Str("type", "db_connect").
|
||||
Str("db_type", dbType).
|
||||
Msg("Connecting to database")
|
||||
|
||||
var db *gorm.DB
|
||||
var err error
|
||||
|
||||
switch dbType {
|
||||
case "sqlite":
|
||||
return connectSQLite(dsn)
|
||||
db, err = connectSQLite(dsn)
|
||||
|
||||
case "postgres":
|
||||
return connectPostgres(dsn)
|
||||
db, err = connectPostgres(dsn)
|
||||
|
||||
case "mysql":
|
||||
return connectMySQL(dsn)
|
||||
db, err = connectMySQL(dsn)
|
||||
|
||||
default:
|
||||
return nil, fmt.Errorf("unsupported DB_TYPE: %s", dbType)
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
logger.Log.Error().
|
||||
Str("type", "db_connect").
|
||||
Str("db_type", dbType).
|
||||
Err(err).
|
||||
Msg("Failed to connect to database")
|
||||
return nil, err
|
||||
}
|
||||
|
||||
logger.Log.Info().
|
||||
Str("type", "db_connect").
|
||||
Str("db_type", dbType).
|
||||
Msg("Database connected successfully")
|
||||
|
||||
return db, nil
|
||||
}
|
||||
|
||||
func connectSQLite(filePath string) (*gorm.DB, error) {
|
||||
@@ -51,6 +77,12 @@ func connectSQLite(filePath string) (*gorm.DB, error) {
|
||||
return nil, fmt.Errorf("failed to open SQLite database: %w", err)
|
||||
}
|
||||
|
||||
sqlDB, err := db.DB()
|
||||
if err == nil {
|
||||
sqlDB.SetMaxIdleConns(10)
|
||||
sqlDB.SetMaxOpenConns(100)
|
||||
}
|
||||
|
||||
return db, nil
|
||||
}
|
||||
|
||||
@@ -64,6 +96,12 @@ func connectPostgres(dsn string) (*gorm.DB, error) {
|
||||
return nil, fmt.Errorf("failed to connect to Postgres: %w", err)
|
||||
}
|
||||
|
||||
sqlDB, err := db.DB()
|
||||
if err == nil {
|
||||
sqlDB.SetMaxIdleConns(10)
|
||||
sqlDB.SetMaxOpenConns(100)
|
||||
}
|
||||
|
||||
return db, nil
|
||||
}
|
||||
|
||||
@@ -77,5 +115,11 @@ func connectMySQL(dsn string) (*gorm.DB, error) {
|
||||
return nil, fmt.Errorf("failed to connect to MySQL: %w", err)
|
||||
}
|
||||
|
||||
sqlDB, err := db.DB()
|
||||
if err == nil {
|
||||
sqlDB.SetMaxIdleConns(10)
|
||||
sqlDB.SetMaxOpenConns(100)
|
||||
}
|
||||
|
||||
return db, nil
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user