Loading src/main/java/com/inteligr8/rs/ClientCxfImpl.java +3 −0 Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ import org.apache.cxf.BusFactory; import org.apache.cxf.jaxrs.client.JAXRSClientFactory; import org.apache.cxf.jaxrs.client.WebClient; import org.apache.cxf.jaxrs.impl.RuntimeDelegateImpl; import org.apache.cxf.jaxrs.provider.MultipartProvider; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.InitializingBean; Loading Loading @@ -66,6 +67,8 @@ public abstract class ClientCxfImpl extends Client implements InitializingBean { public WebClient getCxfClient(AuthorizationFilter authFilter) { List<Object> providersAndFilters = new LinkedList<Object>(); providersAndFilters.add(new JacksonJaxbJsonProvider()); providersAndFilters.add(new CxfLoggingFilter()); providersAndFilters.add(new MultipartProvider()); if (authFilter == null) authFilter = this.getConfig().createAuthorizationFilter(); Loading src/main/java/com/inteligr8/rs/CxfLoggingFilter.java 0 → 100644 +30 −0 Original line number Diff line number Diff line package com.inteligr8.rs; import java.io.IOException; import java.util.LinkedList; import java.util.List; import javax.ws.rs.client.ClientRequestContext; import javax.ws.rs.core.MediaType; import org.apache.cxf.jaxrs.ext.multipart.Attachment; import org.apache.cxf.jaxrs.ext.multipart.MultipartBody; import org.slf4j.Logger; public class CxfLoggingFilter extends LoggingFilter { @Override protected void logUnhandledRequest(ClientRequestContext requestContext, Logger logger) throws IOException { if (MediaType.MULTIPART_FORM_DATA_TYPE.equals(requestContext.getMediaType())) { if (requestContext.getEntity() instanceof MultipartBody) { List<String> attIds = new LinkedList<>(); for (Attachment att : ((MultipartBody)requestContext.getEntity()).getAllAttachments()) attIds.add(att.getContentId()); logger.trace("request: {} {}: {}", requestContext.getMethod(), requestContext.getUri(), attIds); } else { logger.trace("request: {} {}: failed to output form", requestContext.getMethod(), requestContext.getUri()); } } } } src/main/java/com/inteligr8/rs/LoggingFilter.java +26 −15 Original line number Diff line number Diff line Loading @@ -12,6 +12,7 @@ import javax.ws.rs.core.MediaType; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.databind.ObjectMapper; public class LoggingFilter implements ClientRequestFilter, ClientResponseFilter { Loading @@ -19,27 +20,37 @@ public class LoggingFilter implements ClientRequestFilter, ClientResponseFilter private final Logger loggerRequest = LoggerFactory.getLogger("jaxrs.request"); private final Logger loggerResponse = LoggerFactory.getLogger("jaxrs.response"); private final ObjectMapper om = new ObjectMapper(); protected final ObjectMapper om = new ObjectMapper().setSerializationInclusion(Include.NON_NULL); @Override public void filter(ClientRequestContext requestContext) throws IOException { if (this.loggerRequest.isTraceEnabled()) { if (this.loggerRequest.isTraceEnabled()) this.logAnyRequest(requestContext, this.loggerRequest); } protected void logAnyRequest(ClientRequestContext requestContext, Logger logger) throws IOException { if (MediaType.APPLICATION_JSON_TYPE.equals(requestContext.getMediaType())) { this.loggerRequest.trace("request: {} {}: {}", requestContext.getMethod(), requestContext.getUri(), logger.trace("request: {} {}: {}", requestContext.getMethod(), requestContext.getUri(), this.om.writeValueAsString(requestContext.getEntity())); } else if (MediaType.APPLICATION_FORM_URLENCODED_TYPE.equals(requestContext.getMediaType())) { if (requestContext.getEntity() instanceof Form) { this.loggerRequest.trace("request: {} {}: {}", requestContext.getMethod(), requestContext.getUri(), logger.trace("request: {} {}: {}", requestContext.getMethod(), requestContext.getUri(), ((Form)requestContext.getEntity()).asMap()); } else { this.loggerRequest.trace("request: {} {}: failed to output form", requestContext.getMethod(), requestContext.getUri()); } } else if (requestContext.getMediaType() != null) { this.loggerRequest.trace("request '{}': {} {}", requestContext.getMediaType(), requestContext.getMethod(), requestContext.getUri()); } else { this.loggerRequest.trace("request: {} {}", requestContext.getMethod(), requestContext.getUri()); this.logUnhandledRequest(requestContext, logger); } } protected void logUnhandledRequest(ClientRequestContext requestContext, Logger logger) throws IOException { if (requestContext.getMediaType() != null) { logger.trace("request '{}': {} {}", requestContext.getMediaType(), requestContext.getMethod(), requestContext.getUri()); } else { logger.trace("request: {} {}", requestContext.getMethod(), requestContext.getUri()); } } @Override Loading Loading
src/main/java/com/inteligr8/rs/ClientCxfImpl.java +3 −0 Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ import org.apache.cxf.BusFactory; import org.apache.cxf.jaxrs.client.JAXRSClientFactory; import org.apache.cxf.jaxrs.client.WebClient; import org.apache.cxf.jaxrs.impl.RuntimeDelegateImpl; import org.apache.cxf.jaxrs.provider.MultipartProvider; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.InitializingBean; Loading Loading @@ -66,6 +67,8 @@ public abstract class ClientCxfImpl extends Client implements InitializingBean { public WebClient getCxfClient(AuthorizationFilter authFilter) { List<Object> providersAndFilters = new LinkedList<Object>(); providersAndFilters.add(new JacksonJaxbJsonProvider()); providersAndFilters.add(new CxfLoggingFilter()); providersAndFilters.add(new MultipartProvider()); if (authFilter == null) authFilter = this.getConfig().createAuthorizationFilter(); Loading
src/main/java/com/inteligr8/rs/CxfLoggingFilter.java 0 → 100644 +30 −0 Original line number Diff line number Diff line package com.inteligr8.rs; import java.io.IOException; import java.util.LinkedList; import java.util.List; import javax.ws.rs.client.ClientRequestContext; import javax.ws.rs.core.MediaType; import org.apache.cxf.jaxrs.ext.multipart.Attachment; import org.apache.cxf.jaxrs.ext.multipart.MultipartBody; import org.slf4j.Logger; public class CxfLoggingFilter extends LoggingFilter { @Override protected void logUnhandledRequest(ClientRequestContext requestContext, Logger logger) throws IOException { if (MediaType.MULTIPART_FORM_DATA_TYPE.equals(requestContext.getMediaType())) { if (requestContext.getEntity() instanceof MultipartBody) { List<String> attIds = new LinkedList<>(); for (Attachment att : ((MultipartBody)requestContext.getEntity()).getAllAttachments()) attIds.add(att.getContentId()); logger.trace("request: {} {}: {}", requestContext.getMethod(), requestContext.getUri(), attIds); } else { logger.trace("request: {} {}: failed to output form", requestContext.getMethod(), requestContext.getUri()); } } } }
src/main/java/com/inteligr8/rs/LoggingFilter.java +26 −15 Original line number Diff line number Diff line Loading @@ -12,6 +12,7 @@ import javax.ws.rs.core.MediaType; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.databind.ObjectMapper; public class LoggingFilter implements ClientRequestFilter, ClientResponseFilter { Loading @@ -19,27 +20,37 @@ public class LoggingFilter implements ClientRequestFilter, ClientResponseFilter private final Logger loggerRequest = LoggerFactory.getLogger("jaxrs.request"); private final Logger loggerResponse = LoggerFactory.getLogger("jaxrs.response"); private final ObjectMapper om = new ObjectMapper(); protected final ObjectMapper om = new ObjectMapper().setSerializationInclusion(Include.NON_NULL); @Override public void filter(ClientRequestContext requestContext) throws IOException { if (this.loggerRequest.isTraceEnabled()) { if (this.loggerRequest.isTraceEnabled()) this.logAnyRequest(requestContext, this.loggerRequest); } protected void logAnyRequest(ClientRequestContext requestContext, Logger logger) throws IOException { if (MediaType.APPLICATION_JSON_TYPE.equals(requestContext.getMediaType())) { this.loggerRequest.trace("request: {} {}: {}", requestContext.getMethod(), requestContext.getUri(), logger.trace("request: {} {}: {}", requestContext.getMethod(), requestContext.getUri(), this.om.writeValueAsString(requestContext.getEntity())); } else if (MediaType.APPLICATION_FORM_URLENCODED_TYPE.equals(requestContext.getMediaType())) { if (requestContext.getEntity() instanceof Form) { this.loggerRequest.trace("request: {} {}: {}", requestContext.getMethod(), requestContext.getUri(), logger.trace("request: {} {}: {}", requestContext.getMethod(), requestContext.getUri(), ((Form)requestContext.getEntity()).asMap()); } else { this.loggerRequest.trace("request: {} {}: failed to output form", requestContext.getMethod(), requestContext.getUri()); } } else if (requestContext.getMediaType() != null) { this.loggerRequest.trace("request '{}': {} {}", requestContext.getMediaType(), requestContext.getMethod(), requestContext.getUri()); } else { this.loggerRequest.trace("request: {} {}", requestContext.getMethod(), requestContext.getUri()); this.logUnhandledRequest(requestContext, logger); } } protected void logUnhandledRequest(ClientRequestContext requestContext, Logger logger) throws IOException { if (requestContext.getMediaType() != null) { logger.trace("request '{}': {} {}", requestContext.getMediaType(), requestContext.getMethod(), requestContext.getUri()); } else { logger.trace("request: {} {}", requestContext.getMethod(), requestContext.getUri()); } } @Override Loading