package main import ( "fmt" "log" "os" "github.com/asdine/storm/v3" "github.com/gofiber/fiber/v2" "github.com/gofiber/fiber/v2/middleware/logger" "github.com/rs/zerolog" ) type Server struct { Config *Config Database *storm.DB WebServer *fiber.App LogFile *os.File Log zerolog.Logger } func main() { server := Server{} err := LoadConfig(&server) if err != nil { log.Fatal("Unable to load in config file: ", err) } fmt.Println("Server: ", server.Config) app := fiber.New() app.Use(logger.New(logger.Config{ Output: server.LogFile, TimeZone: server.Config.Timezone, })) server.WebServer = app server.WebServer.Server().Logger.Printf("Webserver Started") app.Server().Logger.Printf("HERE!") server.WebServer.Get("/", func(c *fiber.Ctx) error { return c.SendString("Hello, World 👋 RELOADED!") }) // fmt.Println("Port listen on: ", os.Getenv("PORT")) // fmt.Println("Timezone is: ", os.Getenv("TZ")) server.WebServer.Listen(fmt.Sprintf(":%s", server.Config.Server.Port)) }