From e4ebb5b384c5ad80aac1c4d0100de1932b59f51d Mon Sep 17 00:00:00 2001 From: Sebastian Serth Date: Wed, 13 Apr 2022 19:42:36 +0200 Subject: [PATCH] Add trace statements for WebSocket messages * With `logger.level: TRACE`, the content of WebSocket messages is logged together with the corresponding timestamp. * The input is not further sanitized as this log level is not intended for production use. --- internal/api/websocket.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/internal/api/websocket.go b/internal/api/websocket.go index 32834a2..9e39bba 100644 --- a/internal/api/websocket.go +++ b/internal/api/websocket.go @@ -117,6 +117,8 @@ func handleInput(messageType int, reader io.Reader, err error, buffer chan byte, log.WithError(err).Warn("error while reading WebSocket message") return true } + + log.WithField("message", string(message)).Trace("Received message from client") for _, character := range message { select { case <-ctx.Done(): @@ -298,6 +300,7 @@ func (wp *webSocketProxy) sendToClient(message dto.WebSocketMessage) error { wp.closeWithError("Error creating message") return fmt.Errorf("error marshaling WebSocket message: %w", err) } + log.WithField("message", message).Trace("Sending message to client") err = wp.writeMessage(websocket.TextMessage, encodedMessage) if err != nil { errorMessage := "Error writing the message"