/** * Logs a stringified request of {@link RequestLog}. */ public static void logRequest(Logger logger, RequestLog log, LogLevel requestLogLevel, Function<HttpHeaders, HttpHeaders> requestHeadersSanitizer, Function<Object, Object> requestContentSanitizer) { if (requestLogLevel.isEnabled(logger)) { requestLogLevel.log(logger, REQUEST_FORMAT, log.toStringRequestOnly(requestHeadersSanitizer, requestContentSanitizer)); } }
/** * Logs a stringified response of {@link RequestLog}. */ public static void logResponse(Logger logger, RequestLog log, LogLevel requestLogLevel, Function<HttpHeaders, HttpHeaders> requestHeadersSanitizer, Function<Object, Object> requestContentSanitizer, LogLevel successfulResponseLogLevel, LogLevel failedResponseLogLevel, Function<HttpHeaders, HttpHeaders> responseHeadersSanitizer, Function<Object, Object> responseContentSanitizer) { final LogLevel level = log.responseCause() == null ? successfulResponseLogLevel : failedResponseLogLevel; if (level.isEnabled(logger)) { if (log.responseCause() == null) { level.log(logger, RESPONSE_FORMAT, log.toStringResponseOnly(responseHeadersSanitizer, responseContentSanitizer)); } else { if (!requestLogLevel.isEnabled(logger)) { // Request wasn't logged but this is an unsuccessful response, log the request too to help // debugging. level.log(logger, REQUEST_FORMAT, log.toStringRequestOnly(requestHeadersSanitizer, responseContentSanitizer)); } level.log(logger, RESPONSE_FORMAT, log.toStringResponseOnly(responseHeadersSanitizer, responseContentSanitizer), log.responseCause()); } } } }