feat: enhance error handling for database connection failure
Deploy Application / deploy (push) Successful in 21s
Details
Deploy Application / deploy (push) Successful in 21s
Details
This commit is contained in:
parent
805a976858
commit
2eccaa33b3
15
cmd/main.go
15
cmd/main.go
|
|
@ -1,6 +1,7 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io"
|
||||
"log"
|
||||
"os"
|
||||
|
|
@ -32,6 +33,7 @@ import (
|
|||
"github.com/Caknoooo/go-gin-clean-starter/modules/uom"
|
||||
"github.com/Caknoooo/go-gin-clean-starter/modules/warehouse"
|
||||
"github.com/Caknoooo/go-gin-clean-starter/modules/zona"
|
||||
"github.com/Caknoooo/go-gin-clean-starter/pkg/constants"
|
||||
"github.com/sirupsen/logrus"
|
||||
"github.com/spf13/viper"
|
||||
swaggerFiles "github.com/swaggo/files"
|
||||
|
|
@ -118,19 +120,24 @@ func main() {
|
|||
// Inisialisasi RabbitMQ
|
||||
config.InitRabbitMQ()
|
||||
|
||||
logger := config.SetupLoggerLogrus()
|
||||
// Register dependencies (termasuk logger)
|
||||
providers.RegisterDependencies(injector)
|
||||
|
||||
// Ambil logger dari injector
|
||||
logger := do.MustInvokeNamed[*logrus.Logger](injector, constants.LOGGER)
|
||||
|
||||
// 🔹 Tangkap panic global di luar Gin (worker, cron, dsb.)
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
// Convert panic value ke string untuk menghindari serialization error
|
||||
panicMsg := fmt.Sprintf("%v", r)
|
||||
logger.WithFields(logrus.Fields{
|
||||
"panic": r,
|
||||
"panic": panicMsg,
|
||||
"stack": string(debug.Stack()),
|
||||
}).Error("Uncaught panic at main")
|
||||
}
|
||||
}()
|
||||
|
||||
providers.RegisterDependencies(injector)
|
||||
|
||||
// set Swagger info (opsional)
|
||||
docs.SwaggerInfo.Title = "WMS Wareify API"
|
||||
docs.SwaggerInfo.Version = "1.0"
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ func SetUpDatabaseConnection() *gorm.DB {
|
|||
Logger: SetupLogger(),
|
||||
})
|
||||
if err != nil {
|
||||
panic(err)
|
||||
panic(fmt.Sprintf("Failed to connect to database: %v", err))
|
||||
}
|
||||
|
||||
// RunExtension(db)
|
||||
|
|
|
|||
Loading…
Reference in New Issue