From 8ba1977b89a0bc23946ea9112fe14687afda1238 Mon Sep 17 00:00:00 2001 From: CrazyBolillo Date: Fri, 27 Sep 2024 22:09:25 -0600 Subject: [PATCH] feat: add debug mode In debug mode all events will have their raw payload logged. --- cmd/main.go | 4 ++++ internal/serve/serve.go | 13 +++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/cmd/main.go b/cmd/main.go index 91d0f5b..4ec4e7f 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -19,5 +19,9 @@ func run(ctx context.Context) int { return 1 } + if cfg.Debug { + slog.SetLogLoggerLevel(slog.LevelDebug) + } + return serve.Start(ctx, cfg) } diff --git a/internal/serve/serve.go b/internal/serve/serve.go index 600c542..43632ee 100644 --- a/internal/serve/serve.go +++ b/internal/serve/serve.go @@ -18,6 +18,7 @@ type Config struct { ServiceHost string `env:"SERVICE_HOST"` AppName string `env:"APP_NAME" envDefault:"vouncer"` Credentials string `env:"CREDENTIALS"` + Debug bool `env:"DEBUG" envDefault:"false"` } type Call struct { @@ -62,10 +63,10 @@ func Start(ctx context.Context, cfg Config) int { return 2 } - return serve(ctx, c) + return serve(ctx, c, cfg.Debug) } -func serve(ctx context.Context, conn *websocket.Conn) int { +func serve(ctx context.Context, conn *websocket.Conn, debug bool) int { for { _, payload, err := conn.ReadMessage() if err != nil { @@ -73,6 +74,14 @@ func serve(ctx context.Context, conn *websocket.Conn) int { return 1 } + if debug { + var pretty bytes.Buffer + err = json.Indent(&pretty, payload, "", " ") + if err == nil { + slog.Debug(pretty.String()) + } + } + evt := ari.Event{} if err := json.Unmarshal(payload, &evt); err != nil { slog.Error("Websocket message processing failed", slog.String("reason", err.Error()))