From 87de968e7f00d98f707eb3a2d173824945a313ca Mon Sep 17 00:00:00 2001 From: valitovgaziz Date: Mon, 5 Aug 2024 09:16:04 +0500 Subject: [PATCH] debug --- api/cmd/main.go | 3 +++ api/src/initializers/initializers.go | 30 +++++++++++++++++++++++----- db/Dockerfile | 0 docker-compose.yaml | 1 + 4 files changed, 29 insertions(+), 5 deletions(-) create mode 100644 db/Dockerfile diff --git a/api/cmd/main.go b/api/cmd/main.go index fedce15..da82797 100644 --- a/api/cmd/main.go +++ b/api/cmd/main.go @@ -2,9 +2,12 @@ package main import ( "api/src/initializers" + "log/slog" ) func main() { + slog.Info("Start") initializers.InitChiRouting() initializers.InitDBconnection() + slog.Info("End") } diff --git a/api/src/initializers/initializers.go b/api/src/initializers/initializers.go index ee93392..c6562f0 100644 --- a/api/src/initializers/initializers.go +++ b/api/src/initializers/initializers.go @@ -10,6 +10,7 @@ import ( "github.com/ilyakaznacheev/cleanenv" "gorm.io/driver/postgres" "gorm.io/gorm" + "gorm.io/gorm/logger" "net/http" @@ -20,6 +21,7 @@ import ( var cfg *configs.PSQLConfig func InitDBconnection() { + slog.Info("Init DB connection") cleanenv.ReadEnv(&cfg) dsn := fmt.Sprintf( "host=%s user=%s password=%s dbname=%s port=%s sslmode=disable TimeZone=Asia/Yekaterinburg", @@ -29,21 +31,39 @@ func InitDBconnection() { cfg.Db_name, cfg.Db_port, ) - db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{}) + db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{ + Logger: logger.Default.LogMode(logger.Info), + }) if err != nil { slog.Error("failed to connect database", "error", err) os.Exit(2) } psql.PSQL_GORM_DB = db + sql, err := db.DB() + if err != nil { + slog.Error("failed to get database", "error", err) + os.Exit(2) + } + err = sql.Ping() + if err != nil { + slog.Error("failed to ping database", "error", err) + os.Exit(2) + } slog.Info("connected to database") + db.Logger = logger.Default.LogMode(logger.Info) } func InitChiRouting() { - + slog.Info("Init routing") r := chi.NewRouter() r.Use(middleware.Logger) r.Get("/", func(w http.ResponseWriter, r *http.Request) { - w.Write([]byte("welcome developer")) - }) - http.ListenAndServe(":8000", r) + w.Write([]byte("welcome developer! Cool. Are you debugging?")) + }) + err := http.ListenAndServe(":"+os.Getenv("SERVER_PORT"), r) + if err != nil { + slog.Error("failed to start server", "error", err) + os.Exit(2) + } + slog.Info("Server start on PORT: " + os.Getenv("SERVER_PORT")) } diff --git a/db/Dockerfile b/db/Dockerfile new file mode 100644 index 0000000..e69de29 diff --git a/docker-compose.yaml b/docker-compose.yaml index 4f50df5..4747959 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -26,6 +26,7 @@ services: - .:/usr/src/app depends_on: - db + command: ./bin/api.exe volumes: postgres-db: \ No newline at end of file