summaryrefslogtreecommitdiffstats
path: root/reference/logging-filter/logging-filter-base/src/main/java/org/onap/logging/filter/base/MetricLogClientFilter.java
diff options
context:
space:
mode:
Diffstat (limited to 'reference/logging-filter/logging-filter-base/src/main/java/org/onap/logging/filter/base/MetricLogClientFilter.java')
-rw-r--r--reference/logging-filter/logging-filter-base/src/main/java/org/onap/logging/filter/base/MetricLogClientFilter.java104
1 files changed, 28 insertions, 76 deletions
diff --git a/reference/logging-filter/logging-filter-base/src/main/java/org/onap/logging/filter/base/MetricLogClientFilter.java b/reference/logging-filter/logging-filter-base/src/main/java/org/onap/logging/filter/base/MetricLogClientFilter.java
index 8533456..986d189 100644
--- a/reference/logging-filter/logging-filter-base/src/main/java/org/onap/logging/filter/base/MetricLogClientFilter.java
+++ b/reference/logging-filter/logging-filter-base/src/main/java/org/onap/logging/filter/base/MetricLogClientFilter.java
@@ -20,10 +20,6 @@
package org.onap.logging.filter.base;
-import java.time.ZoneOffset;
-import java.time.ZonedDateTime;
-import java.time.format.DateTimeFormatter;
-import java.util.UUID;
import javax.annotation.Priority;
import javax.ws.rs.client.ClientRequestContext;
import javax.ws.rs.client.ClientRequestFilter;
@@ -32,97 +28,53 @@ import javax.ws.rs.client.ClientResponseFilter;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.ext.Providers;
-import org.onap.logging.ref.slf4j.ONAPLogConstants;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.slf4j.MDC;
-import org.slf4j.Marker;
-import org.slf4j.MarkerFactory;
@Priority(0)
-public class MetricLogClientFilter implements ClientRequestFilter, ClientResponseFilter {
+public class MetricLogClientFilter
+ extends AbstractMetricLogFilter<ClientRequestContext, ClientResponseContext, MultivaluedMap<String, Object>>
+ implements ClientRequestFilter, ClientResponseFilter {
@Context
private Providers providers;
- private MDCSetup mdcSetup = new MDCSetup();
- private static final String TRACE = "trace-#";
- private static Logger logger = LoggerFactory.getLogger(MetricLogClientFilter.class);
- private final String partnerName;
- private static final Marker INVOKE_RETURN = MarkerFactory.getMarker("INVOKE-RETURN");
- public MetricLogClientFilter() {
- partnerName = getPartnerName();
+ @Override
+ public void filter(ClientRequestContext clientRequest) {
+ pre(clientRequest, clientRequest.getHeaders());
}
@Override
- public void filter(ClientRequestContext clientRequest) {
- try {
- setupMDC(clientRequest);
- setupHeaders(clientRequest);
- logger.info(ONAPLogConstants.Markers.INVOKE, "Invoke");
- } catch (Exception e) {
- logger.warn("Error in JAX-RS client request filter", e);
- }
+ public void filter(ClientRequestContext requestContext, ClientResponseContext responseContext) {
+ post(requestContext, responseContext);
}
- protected void setupHeaders(ClientRequestContext clientRequest) {
- MultivaluedMap<String, Object> headers = clientRequest.getHeaders();
- String requestId = extractRequestID(clientRequest);
- headers.add(ONAPLogConstants.Headers.REQUEST_ID, requestId);
- headers.add(Constants.HttpHeaders.HEADER_REQUEST_ID, requestId);
- headers.add(Constants.HttpHeaders.TRANSACTION_ID, requestId);
- headers.add(Constants.HttpHeaders.ECOMP_REQUEST_ID, requestId);
- headers.add(ONAPLogConstants.Headers.INVOCATION_ID, MDC.get(ONAPLogConstants.MDCs.INVOCATION_ID));
- headers.add(ONAPLogConstants.Headers.PARTNER_NAME, partnerName);
+ @Override
+ protected void addHeader(MultivaluedMap<String, Object> requestHeaders, String headerName, String headerValue) {
+ requestHeaders.add(headerName, headerValue);
}
- protected void setupMDC(ClientRequestContext clientRequest) {
- MDC.put(ONAPLogConstants.MDCs.INVOKE_TIMESTAMP,
- ZonedDateTime.now(ZoneOffset.UTC).format(DateTimeFormatter.ISO_INSTANT));
- MDC.put(ONAPLogConstants.MDCs.TARGET_SERVICE_NAME, clientRequest.getUri().toString());
- MDC.put(ONAPLogConstants.MDCs.RESPONSE_STATUS_CODE, ONAPLogConstants.ResponseStatus.INPROGRESS.toString());
- mdcSetup.setInvocationIdFromMDC();
- String targetEntity = MDC.get(ONAPLogConstants.MDCs.TARGET_ENTITY);
- if (targetEntity != null) {
- MDC.put(ONAPLogConstants.MDCs.TARGET_ENTITY, targetEntity);
- } else {
- MDC.put(ONAPLogConstants.MDCs.TARGET_ENTITY, Constants.DefaultValues.UNKNOWN_TARGET_ENTITY);
- }
- if (MDC.get(ONAPLogConstants.MDCs.SERVICE_NAME) == null) {
- MDC.put(ONAPLogConstants.MDCs.SERVICE_NAME, clientRequest.getUri().getPath());
- }
- mdcSetup.setServerFQDN();
+ @Override
+ protected String getTargetServiceName(ClientRequestContext request) {
+ return request.getUri().toString();
}
- protected String extractRequestID(ClientRequestContext clientRequest) {
- String requestId = MDC.get(ONAPLogConstants.MDCs.REQUEST_ID);
- if (requestId == null || requestId.isEmpty() || requestId.equals(TRACE)) {
- requestId = UUID.randomUUID().toString();
- mdcSetup.setLogTimestamp();
- mdcSetup.setElapsedTimeInvokeTimestamp();
- logger.warn("Could not Find Request ID Generating New One: {}", clientRequest.getUri().getPath());
- MDC.put(ONAPLogConstants.MDCs.REQUEST_ID, requestId);
- }
- return requestId;
+ @Override
+ protected String getServiceName(ClientRequestContext request) {
+ return request.getUri().getPath();
}
@Override
- public void filter(ClientRequestContext requestContext, ClientResponseContext responseContext) {
- try {
- mdcSetup.setLogTimestamp();
- mdcSetup.setElapsedTimeInvokeTimestamp();
- mdcSetup.setResponseStatusCode(responseContext.getStatus());
- mdcSetup.setResponseDescription(responseContext.getStatus());
- MDC.put(ONAPLogConstants.MDCs.RESPONSE_CODE, String.valueOf(responseContext.getStatus()));
- logger.info(INVOKE_RETURN, "InvokeReturn");
- mdcSetup.clearClientMDCs();
- } catch (Exception e) {
- logger.warn("Error in JAX-RS request,response client filter", e);
- }
+ protected int getHttpStatusCode(ClientResponseContext response) {
+ return response.getStatus();
+ }
+
+ @Override
+ protected String getResponseCode(ClientResponseContext response) {
+ return String.valueOf(response.getStatus());
}
- protected String getPartnerName() {
- PropertyUtil p = new PropertyUtil();
- return p.getProperty(Constants.Property.PARTNER_NAME);
+ @Override
+ protected String getTargetEntity(ClientRequestContext request) {
+ return Constants.DefaultValues.UNKNOWN_TARGET_ENTITY;
}
+
}