forked from templates/template-go-backend
Fix logging and database configuration
This commit is contained in:
27
src/main.go
27
src/main.go
@@ -11,6 +11,7 @@ import (
|
||||
"backend/ent"
|
||||
"backend/src/internal/config"
|
||||
"backend/src/internal/gateway"
|
||||
"backend/src/internal/logging"
|
||||
"backend/src/logic"
|
||||
|
||||
_ "github.com/lib/pq" // побочный импорт драйвера PostgreSQL
|
||||
@@ -24,8 +25,8 @@ const (
|
||||
|
||||
func main() {
|
||||
var err error
|
||||
logger := slog.Default()
|
||||
// slog.SetLogLoggerLevel(slog.LevelDebug)
|
||||
logger := logging.New("info")
|
||||
slog.SetDefault(logger)
|
||||
|
||||
logger.Info(fmt.Sprintf("Starting %s version %s\n", AppName, AppVersion))
|
||||
|
||||
@@ -35,12 +36,32 @@ func main() {
|
||||
return
|
||||
}
|
||||
|
||||
// adjust logger according to LOG_LEVEL
|
||||
level := logging.ParseLevel(cfg.LoggingConfig.Level)
|
||||
if level != slog.LevelInfo {
|
||||
logger.Info("Adjusting log level from env", "level", level.String())
|
||||
}
|
||||
logger = logging.New(cfg.LoggingConfig.Level)
|
||||
slog.SetDefault(logger)
|
||||
cfg.LoggingConfig.Instance = logger
|
||||
|
||||
// создаем контекст с отменой для управления жизненным циклом сервиса.
|
||||
ctx, cancel := context.WithCancel(context.Background())
|
||||
defer cancel()
|
||||
|
||||
// подключаемся к базе данных
|
||||
dsn := config.GetDatabaseDSN(&cfg.DatabaseConfig)
|
||||
dbURL, err := config.GetDatabaseURLForLogging(&cfg.DatabaseConfig)
|
||||
if err != nil {
|
||||
logger.Error("Failed getting database URL for logging", "error", err)
|
||||
return
|
||||
}
|
||||
logger.Info("Connecting to database...", "url", dbURL)
|
||||
|
||||
dsn, err := config.GetDatabaseDSN(&cfg.DatabaseConfig)
|
||||
if err != nil {
|
||||
logger.Error("Failed getting database DSN", "error", err)
|
||||
return
|
||||
}
|
||||
db, err := ent.Open(cfg.DatabaseConfig.Kind, dsn)
|
||||
if err != nil {
|
||||
logger.Error("Failed opening connection to postgres", "error", err)
|
||||
|
||||
Reference in New Issue
Block a user