From 41e6aa6de2f2d8f8a322d41241ee99e75b39c1b2 Mon Sep 17 00:00:00 2001 From: Rossen Stoyanchev Date: Mon, 22 Oct 2018 12:03:19 -0400 Subject: [PATCH] Restore log level for resolved exceptions The fix for SPR-17178 switched from debug to warn level warning for all sub-classes of AbstractHandlerExceptionResolver where the request concerned the DefaultHandlerExceptionResolver only. This commit restores the original DEBUG level logging that was in AbstractHandlerExceptionResolver from before SPR-17178. In addition DefaultHandlerExceptionResolver registers a warnLogCategory by default which enables warn logging and hence fulfilling the original goal for SPR-17178. Issue: SPR-17383 --- .../web/server/handler/ResponseStatusExceptionHandler.java | 4 ++-- .../web/servlet/handler/AbstractHandlerExceptionResolver.java | 4 ++-- .../servlet/mvc/support/DefaultHandlerExceptionResolver.java | 1 + 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/spring-web/src/main/java/org/springframework/web/server/handler/ResponseStatusExceptionHandler.java b/spring-web/src/main/java/org/springframework/web/server/handler/ResponseStatusExceptionHandler.java index a3922e7b6c..a24a8a0389 100644 --- a/spring-web/src/main/java/org/springframework/web/server/handler/ResponseStatusExceptionHandler.java +++ b/spring-web/src/main/java/org/springframework/web/server/handler/ResponseStatusExceptionHandler.java @@ -72,8 +72,8 @@ public class ResponseStatusExceptionHandler implements WebExceptionHandler { if (this.warnLogger != null && this.warnLogger.isWarnEnabled()) { this.warnLogger.warn(logPrefix + formatError(ex, exchange.getRequest()), ex); } - else if (logger.isWarnEnabled()) { - logger.warn(logPrefix + formatError(ex, exchange.getRequest())); + else if (logger.isDebugEnabled()) { + logger.debug(logPrefix + formatError(ex, exchange.getRequest())); } return exchange.getResponse().setComplete(); diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/handler/AbstractHandlerExceptionResolver.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/handler/AbstractHandlerExceptionResolver.java index d4f68f8a60..595d9acdf1 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/handler/AbstractHandlerExceptionResolver.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/handler/AbstractHandlerExceptionResolver.java @@ -136,8 +136,8 @@ public abstract class AbstractHandlerExceptionResolver implements HandlerExcepti ModelAndView result = doResolveException(request, response, handler, ex); if (result != null) { // Print warn message when warn logger is not enabled... - if (logger.isWarnEnabled() && (this.warnLogger == null || !this.warnLogger.isWarnEnabled())) { - logger.warn("Resolved [" + ex + "]" + (result.isEmpty() ? "" : " to " + result)); + if (logger.isDebugEnabled() && (this.warnLogger == null || !this.warnLogger.isWarnEnabled())) { + logger.debug("Resolved [" + ex + "]" + (result.isEmpty() ? "" : " to " + result)); } // warnLogger with full stack trace (requires explicit config) logException(ex, request); diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/support/DefaultHandlerExceptionResolver.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/support/DefaultHandlerExceptionResolver.java index b6fa2d823e..0766ff381b 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/support/DefaultHandlerExceptionResolver.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/support/DefaultHandlerExceptionResolver.java @@ -159,6 +159,7 @@ public class DefaultHandlerExceptionResolver extends AbstractHandlerExceptionRes */ public DefaultHandlerExceptionResolver() { setOrder(Ordered.LOWEST_PRECEDENCE); + setWarnLogCategory(getClass().getName()); }