From 010d0947c73de0d3f50d80f28f7142043951fb27 Mon Sep 17 00:00:00 2001 From: Rossen Stoyanchev Date: Thu, 5 Nov 2020 21:34:56 +0000 Subject: [PATCH] Refine logging in StompErrorHandler Avoid a full stacktrace at ERROR level for a client message that could not be sent to a MessageChannel. See gh-26026 --- .../web/socket/messaging/StompSubProtocolHandler.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/messaging/StompSubProtocolHandler.java b/spring-websocket/src/main/java/org/springframework/web/socket/messaging/StompSubProtocolHandler.java index b47ec0fca2..848f3cb310 100644 --- a/spring-websocket/src/main/java/org/springframework/web/socket/messaging/StompSubProtocolHandler.java +++ b/spring-websocket/src/main/java/org/springframework/web/socket/messaging/StompSubProtocolHandler.java @@ -326,8 +326,13 @@ public class StompSubProtocolHandler implements SubProtocolHandler, ApplicationE } catch (Throwable ex) { if (logger.isErrorEnabled()) { - logger.error("Failed to send client message to application via MessageChannel" + - " in session " + session.getId() + ". Sending STOMP ERROR to client.", ex); + String errorText = "Failed to send message to MessageChannel in session " + session.getId(); + if (logger.isDebugEnabled()) { + logger.debug(errorText, ex); + } + else { + logger.error(errorText + ":" + ex.getMessage()); + } } handleError(session, ex, message); }