Files
go_http_server/cmd/app/main.go
2026-05-19 03:37:56 -04:00

46 lines
903 B
Go

package main
import (
"context"
"github.com/kjannette/go_http_server/internal/config"
infrasignal "github.com/kjannette/go_http_server/internal/infrastructure/os"
_ "github.com/kjannette/go_http_server/pkg/logger"
"go.uber.org/zap"
)
// Globals that are set at build time.
var (
appName = "go-http-server"
appVersion = "dev"
)
func main() {
defer func() { _ = zap.L().Sync() }()
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
logger := zap.L().With(
zap.String("app_name", appName),
zap.String("app_version", appVersion),
)
cfg, err := config.NewConfig()
if err != nil {
logger.Error("error creating config", zap.Error(err))
return
}
logger.Info("starting app")
infrasignal.SignalListener(logger, cancel)
if err = run(ctx, cfg); err != nil {
logger.Error("command failed", zap.Error(err))
return
}
logger.Info("command completed")
}