From 17dd7785f6ae763136d1ce73e442661648be05a5 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 c48ebe9c42..3fc930c10d 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 @@ -328,8 +328,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); }