From 39203d1f53057479def455042926e9bf7aabd949 Mon Sep 17 00:00:00 2001 From: Ivan Bodrov Date: Fri, 26 Apr 2024 13:20:03 -0400 Subject: [PATCH] concord-server: tone down websocket errors The actual stacktraces are not particularly useful, it is always just Jetty stuff. Let us log such errors as WARN plus the user agent. --- .../server/websocket/WebSocketListener.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/websocket/WebSocketListener.java b/server/impl/src/main/java/com/walmartlabs/concord/server/websocket/WebSocketListener.java index 52d1276657..76d0b3ade3 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/websocket/WebSocketListener.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/websocket/WebSocketListener.java @@ -43,7 +43,7 @@ public WebSocketListener(WebSocketChannelManager channelManager, UUID channelId, this.channelManager = channelManager; this.channelId = channelId; this.agentId = agentId; - this.userAgent = userAgent; + this.userAgent = sanitize(userAgent); } @Override @@ -82,6 +82,16 @@ public void onWebSocketConnect(Session session) { @Override public void onWebSocketError(Throwable cause) { - log.error("onWebSocketError ['{}'] -> error", channelId, cause); + log.warn("onWebSocketError ['{}', '{}'] -> error: {}", channelId, userAgent, cause.getMessage()); + } + + private static String sanitize(String log) { + if (log == null || log.isEmpty()) { + return log; + } + if (log.length() > 128) { + log = log.substring(0, 128) + "...cut"; + } + return log.replace("\n", "\\n"); } }