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.
This commit is contained in:
Sebastian Serth
2022-04-13 19:42:36 +02:00
committed by Sebastian Serth
parent f1825ebd69
commit e4ebb5b384

View File

@ -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") log.WithError(err).Warn("error while reading WebSocket message")
return true return true
} }
log.WithField("message", string(message)).Trace("Received message from client")
for _, character := range message { for _, character := range message {
select { select {
case <-ctx.Done(): case <-ctx.Done():
@ -298,6 +300,7 @@ func (wp *webSocketProxy) sendToClient(message dto.WebSocketMessage) error {
wp.closeWithError("Error creating message") wp.closeWithError("Error creating message")
return fmt.Errorf("error marshaling WebSocket message: %w", err) return fmt.Errorf("error marshaling WebSocket message: %w", err)
} }
log.WithField("message", message).Trace("Sending message to client")
err = wp.writeMessage(websocket.TextMessage, encodedMessage) err = wp.writeMessage(websocket.TextMessage, encodedMessage)
if err != nil { if err != nil {
errorMessage := "Error writing the message" errorMessage := "Error writing the message"