package main import ( "fmt" "os" "gcy_hpc_server/internal/app" "gcy_hpc_server/internal/config" "gcy_hpc_server/internal/logger" "go.uber.org/zap" ) func main() { cfgPath := "" if len(os.Args) > 1 { cfgPath = os.Args[1] } cfg, err := config.Load(cfgPath) if err != nil { fmt.Fprintf(os.Stderr, "failed to load config: %v\n", err) os.Exit(1) } zapLogger, err := logger.NewLogger(cfg.Log) if err != nil { fmt.Fprintf(os.Stderr, "failed to init logger: %v\n", err) os.Exit(1) } defer zapLogger.Sync() application, err := app.NewApp(cfg, zapLogger) if err != nil { zapLogger.Fatal("failed to initialize application", zap.Error(err)) } if err := application.Run(); err != nil { zapLogger.Fatal("application error", zap.Error(err)) } }