Make logError() in AbstractErrorWebExceptionHandler overrideable

See gh-17863
This commit is contained in:
Peter Jurkovic 2019-08-14 10:17:34 +01:00 committed by Andy Wilkinson
parent e8de5a6d95
commit 7ea612beaf
1 changed files with 11 additions and 11 deletions

View File

@ -263,17 +263,7 @@ public abstract class AbstractErrorWebExceptionHandler implements ErrorWebExcept
.flatMap((response) -> write(exchange, response));
}
private boolean isDisconnectedClientError(Throwable ex) {
return DISCONNECTED_CLIENT_EXCEPTIONS.contains(ex.getClass().getSimpleName())
|| isDisconnectedClientErrorMessage(NestedExceptionUtils.getMostSpecificCause(ex).getMessage());
}
private boolean isDisconnectedClientErrorMessage(String message) {
message = (message != null) ? message.toLowerCase() : "";
return (message.contains("broken pipe") || message.contains("connection reset by peer"));
}
private void logError(ServerRequest request, ServerResponse response, Throwable throwable) {
protected void logError(ServerRequest request, ServerResponse response, Throwable throwable) {
if (logger.isDebugEnabled()) {
logger.debug(request.exchange().getLogPrefix() + formatError(throwable, request));
}
@ -284,6 +274,16 @@ public abstract class AbstractErrorWebExceptionHandler implements ErrorWebExcept
}
}
private boolean isDisconnectedClientError(Throwable ex) {
return DISCONNECTED_CLIENT_EXCEPTIONS.contains(ex.getClass().getSimpleName())
|| isDisconnectedClientErrorMessage(NestedExceptionUtils.getMostSpecificCause(ex).getMessage());
}
private boolean isDisconnectedClientErrorMessage(String message) {
message = (message != null) ? message.toLowerCase() : "";
return (message.contains("broken pipe") || message.contains("connection reset by peer"));
}
private String formatError(Throwable ex, ServerRequest request) {
String reason = ex.getClass().getSimpleName() + ": " + ex.getMessage();
return "Resolved [" + reason + "] for HTTP " + request.methodName() + " " + request.path();