package cmd import ( "os" "apjournal/config" "apjournal/internal/server" "log/slog" "github.com/spf13/cobra" "github.com/spf13/viper" ) func init() { rootCmd.AddCommand(startCmd) } var startCmd = &cobra.Command{ Use: "start", Short: "Start data server", Long: `Start data server`, Run: func(cmd *cobra.Command, args []string) { log := slog.New(slog.NewJSONHandler(os.Stdout, nil)) // load server configuration from server log.Debug("Loading server configuration") if viper.ConfigFileUsed() != "" { log.Debug("Configuration file loaded", "section", "init", "path", viper.ConfigFileUsed()) } cfg := config.LoadConfig(viper.GetViper()) srv := server.NewServer(cfg, log) // listen for new messages log.Info("Listening for incoming events") srv.Listen() }, }