From 9991649216357cf8a5fbdcd5aec1b2ab130e5715 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. Closes gh-26038 --- .../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 32e923a90e..6edeff3365 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 @@ -312,8 +312,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); }