提交 1621125c 编写于 作者: R Rossen Stoyanchev

@ExceptionHandler methods logs at DEBUG level again

Issue: SPR-17383
上级 a0b42a3d
...@@ -135,11 +135,18 @@ public abstract class AbstractHandlerExceptionResolver implements HandlerExcepti ...@@ -135,11 +135,18 @@ public abstract class AbstractHandlerExceptionResolver implements HandlerExcepti
prepareResponse(ex, response); prepareResponse(ex, response);
ModelAndView result = doResolveException(request, response, handler, ex); ModelAndView result = doResolveException(request, response, handler, ex);
if (result != null) { if (result != null) {
// Print warn message when warn logger is not enabled... // Print warn or debug message when warn logger is not enabled...
if (logger.isWarnEnabled() && (this.warnLogger == null || !this.warnLogger.isWarnEnabled())) { if (this.warnLogger == null || !this.warnLogger.isWarnEnabled()) {
logger.warn("Resolved [" + ex + "]" + (result.isEmpty() ? "" : " to " + result)); if (!useWarnLevelWhenWarnLoggerNotEnabled()) {
if (logger.isDebugEnabled()) {
logger.debug("Resolved [" + ex + "]" + (result.isEmpty() ? "" : " to " + result));
}
}
else if (logger.isWarnEnabled()) {
logger.warn("Resolved [" + ex + "]" + (result.isEmpty() ? "" : " to " + result));
}
} }
// warnLogger with full stack trace (requires explicit config) // Log with warnLogger (requires explicit config)
logException(ex, request); logException(ex, request);
} }
return result; return result;
...@@ -179,6 +186,16 @@ public abstract class AbstractHandlerExceptionResolver implements HandlerExcepti ...@@ -179,6 +186,16 @@ public abstract class AbstractHandlerExceptionResolver implements HandlerExcepti
return (this.mappedHandlers == null && this.mappedHandlerClasses == null); return (this.mappedHandlers == null && this.mappedHandlerClasses == null);
} }
/**
* Whether to log warn level messages (return value "true") or debug level
* messages (return value "false") through the regular class logger when
* {@link #setWarnLogCategory warn logging} is not activated.
* <p>By default returns "true".
*/
protected boolean useWarnLevelWhenWarnLoggerNotEnabled() {
return true;
}
/** /**
* Log the given exception at warn level, provided that warn logging has been * Log the given exception at warn level, provided that warn logging has been
* activated through the {@link #setWarnLogCategory "warnLogCategory"} property. * activated through the {@link #setWarnLogCategory "warnLogCategory"} property.
......
...@@ -491,4 +491,10 @@ public class ExceptionHandlerExceptionResolver extends AbstractHandlerMethodExce ...@@ -491,4 +491,10 @@ public class ExceptionHandlerExceptionResolver extends AbstractHandlerMethodExce
return null; return null;
} }
@Override
protected boolean useWarnLevelWhenWarnLoggerNotEnabled() {
// Use DEBUG level
return false;
}
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册