package main

import (
	"log"
	"log/slog"
	"os"

	"git.az-it.net/az/morz-infoboard/server/backend/internal/app"
)

func main() {
	// V6: Strukturiertes JSON-Logging als Standard-Logger.
	// Alle slog.Info/slog.Error-Aufrufe im Programm nutzen diesen Handler.
	slogHandler := slog.NewJSONHandler(os.Stdout, &slog.HandlerOptions{
		Level: slog.LevelInfo,
	})
	slog.SetDefault(slog.New(slogHandler))

	// Kompatibilitäts-Logger für Komponenten die noch *log.Logger erwarten.
	stdLogger := log.New(os.Stdout, "backend ", log.LstdFlags|log.LUTC)

	application, err := app.New()
	if err != nil {
		stdLogger.Fatalf("init app: %v", err)
	}

	slog.Info("backend starting", "addr", application.Config.HTTPAddress)

	if err := application.Run(); err != nil {
		stdLogger.Fatalf("run backend: %v", err)
	}
}
