Change logging to be json comaptible

This commit is contained in:
2026-05-03 22:42:43 +02:00
parent d1f6782c96
commit 1a82f21202
14 changed files with 501 additions and 35 deletions

View File

@@ -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
}
}