enhance AbstractMetricLogFilter
[logging-analytics.git] / reference / logging-filter / logging-filter-base / src / main / java / org / onap / logging / filter / base / AbstractMetricLogFilter.java
index 79649a2..23d83fb 100644 (file)
@@ -56,12 +56,17 @@ public abstract class AbstractMetricLogFilter<Request, Response, RequestHeaders>
         try {
             setupMDC(request);
             setupHeaders(request, requestHeaders);
+            additionalPre(request, requestHeaders);
             logger.info(ONAPLogConstants.Markers.INVOKE, "Invoke");
         } catch (Exception e) {
             logger.warn("Error in AbstractMetricLogFilter pre", e);
         }
     }
 
+    protected void additionalPre(Request request, RequestHeaders requestHeaders) {
+        // override to add application specific logic
+    }
+
     protected void setupHeaders(Request clientRequest, RequestHeaders requestHeaders) {
         String requestId = extractRequestID();
         addHeader(requestHeaders, ONAPLogConstants.Headers.REQUEST_ID, requestId);
@@ -114,6 +119,7 @@ public abstract class AbstractMetricLogFilter<Request, Response, RequestHeaders>
             setResponseStatusCode(getHttpStatusCode(response));
             setResponseDescription(getHttpStatusCode(response));
             MDC.put(ONAPLogConstants.MDCs.RESPONSE_CODE, getResponseCode(response));
+            additionalPost(request, response);
             logger.info(INVOKE_RETURN, "InvokeReturn");
             clearClientMDCs();
         } catch (Exception e) {
@@ -121,6 +127,10 @@ public abstract class AbstractMetricLogFilter<Request, Response, RequestHeaders>
         }
     }
 
+    protected void additionalPost(Request request, Response response) {
+        // override to add application specific logic
+    }
+
     protected String getPartnerName() {
         return getProperty(Constants.Property.PARTNER_NAME);
     }