Files
go-api-template/main.go

46 lines
1.0 KiB
Go

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