Update resources to log transactions 49/84449/1
authorKajur, Harish (vk250x) <vk250x@att.com>
Mon, 8 Apr 2019 00:32:50 +0000 (20:32 -0400)
committerKajur, Harish (vk250x) <vk250x@att.com>
Mon, 8 Apr 2019 00:32:50 +0000 (20:32 -0400)
only when there is an write instead of during
an GET where it is unnecessary creating extra memory

Issue-ID: AAI-2331
Change-Id: Ia1e531c0bd7f3ba8e3bfbefb413fcaaad30e18b7
Signed-off-by: Kajur, Harish (vk250x) <vk250x@att.com>
aai-resources/src/main/java/org/onap/aai/interceptors/post/ResponseTransactionLogging.java
aai-resources/src/main/resources/etc/appprops/aaiconfig.properties

index a9592c4..4a47658 100644 (file)
  */
 package org.onap.aai.interceptors.post;
 
-import java.io.IOException;
-import java.util.Objects;
-import java.util.Optional;
-
-import javax.annotation.Priority;
-import javax.servlet.http.HttpServletResponse;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
+import com.google.gson.JsonObject;
 import org.onap.aai.exceptions.AAIException;
 import org.onap.aai.interceptors.AAIContainerFilter;
 import org.onap.aai.interceptors.AAIHeaderProperties;
@@ -36,90 +29,96 @@ import org.onap.aai.logging.ErrorLogHelper;
 import org.onap.aai.util.AAIConfig;
 import org.springframework.beans.factory.annotation.Autowired;
 
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-import com.google.gson.JsonObject;
+import javax.annotation.Priority;
+import javax.servlet.http.HttpServletResponse;
+import javax.ws.rs.HttpMethod;
+import javax.ws.rs.container.ContainerRequestContext;
+import javax.ws.rs.container.ContainerResponseContext;
+import javax.ws.rs.container.ContainerResponseFilter;
+import java.io.IOException;
+import java.util.Objects;
+import java.util.Optional;
 
 @Priority(AAIResponseFilterPriority.RESPONSE_TRANS_LOGGING)
 public class ResponseTransactionLogging extends AAIContainerFilter implements ContainerResponseFilter {
 
-       private static final EELFLogger TRANSACTION_LOGGER = EELFManager.getInstance().getLogger(ResponseTransactionLogging.class);
-
-       @Autowired
-       private HttpServletResponse httpServletResponse;
-
-       @Override
-       public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext)
-                       throws IOException {
-
-               this.transLogging(requestContext, responseContext);
-
-       }
-
-       private void transLogging(ContainerRequestContext requestContext, ContainerResponseContext responseContext) {
-
-               String logValue;
-               String getValue;
-               String postValue;
-               
-               try {
-                       logValue = AAIConfig.get("aai.transaction.logging");
-                       getValue = AAIConfig.get("aai.transaction.logging.get");
-                       postValue = AAIConfig.get("aai.transaction.logging.post");
-               } catch (AAIException e) {
-                       return;
-               }
-
-               String transId = requestContext.getHeaderString(AAIHeaderProperties.TRANSACTION_ID);
-               String fromAppId = requestContext.getHeaderString(AAIHeaderProperties.FROM_APP_ID);
-               String fullUri = requestContext.getUriInfo().getRequestUri().toString();
-               String requestTs = (String)requestContext.getProperty(AAIHeaderProperties.AAI_REQUEST_TS);
-
-               String httpMethod = requestContext.getMethod();
-
-               String status = Integer.toString(responseContext.getStatus());
-               
-               String request = (String)requestContext.getProperty(AAIHeaderProperties.AAI_REQUEST);
-               String response = this.getResponseString(responseContext);
-
-               if (!Boolean.parseBoolean(logValue)) {
-               } else if (!Boolean.parseBoolean(getValue) && "GET".equals(httpMethod)) {
-               } else if (!Boolean.parseBoolean(postValue) && "POST".equals(httpMethod)) {
-               } else {
-                       
-                       JsonObject logEntry = new JsonObject();
-                       logEntry.addProperty("transactionId", transId);
-                       logEntry.addProperty("status", status);
-                       logEntry.addProperty("rqstDate", requestTs);
-                       logEntry.addProperty("respDate", this.genDate());
-                       logEntry.addProperty("sourceId", fromAppId + ":" + transId);
-                       logEntry.addProperty("resourceId", fullUri);
-                       logEntry.addProperty("resourceType", httpMethod);
-                       logEntry.addProperty("rqstBuf", Objects.toString(request, ""));
-                       logEntry.addProperty("respBuf", Objects.toString(response, ""));
-                       
-                       try {
-                               TRANSACTION_LOGGER.debug(logEntry.toString());
-                       } catch (Exception e) {
-                               ErrorLogHelper.logError("AAI_4000", "Exception writing transaction log.");
-                       }
-               }
-
-       }
-
-       private String getResponseString(ContainerResponseContext responseContext) {
-               JsonObject response = new JsonObject();
-               response.addProperty("ID", responseContext.getHeaderString(AAIHeaderProperties.AAI_TX_ID));
-               response.addProperty("Content-Type", this.httpServletResponse.getContentType());
-               response.addProperty("Response-Code", responseContext.getStatus());
-               response.addProperty("Headers", responseContext.getHeaders().toString());
-               Optional<Object> entityOptional = Optional.ofNullable(responseContext.getEntity());
-               if(entityOptional.isPresent()){
-                       response.addProperty("Entity", entityOptional.get().toString());
-               } else {
-                       response.addProperty("Entity", "");
-               }
-               return response.toString();
-       }
+    private static final EELFLogger TRANSACTION_LOGGER = EELFManager.getInstance().getLogger(ResponseTransactionLogging.class);
+
+    @Autowired
+    private HttpServletResponse httpServletResponse;
+
+    @Override
+    public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext)
+        throws IOException {
+
+        this.transLogging(requestContext, responseContext);
+
+    }
+
+    private void transLogging(ContainerRequestContext requestContext, ContainerResponseContext responseContext) {
+
+        String logValue;
+        String getValue;
+
+        try {
+            logValue = AAIConfig.get("aai.transaction.logging");
+            getValue = AAIConfig.get("aai.transaction.logging.get");
+        } catch (AAIException e) {
+            return;
+        }
+
+        String httpMethod = requestContext.getMethod();
+
+        if(Boolean.parseBoolean(logValue)){
+
+            if(!Boolean.parseBoolean(getValue) && HttpMethod.GET.equals(httpMethod)){
+                return;
+            }
+
+            String transId = requestContext.getHeaderString(AAIHeaderProperties.TRANSACTION_ID);
+            String fromAppId = requestContext.getHeaderString(AAIHeaderProperties.FROM_APP_ID);
+            String fullUri = requestContext.getUriInfo().getRequestUri().toString();
+            String requestTs = (String) requestContext.getProperty(AAIHeaderProperties.AAI_REQUEST_TS);
+
+
+            String status = Integer.toString(responseContext.getStatus());
+
+            String request = (String) requestContext.getProperty(AAIHeaderProperties.AAI_REQUEST);
+            String response = this.getResponseString(responseContext);
+
+
+            JsonObject logEntry = new JsonObject();
+            logEntry.addProperty("transactionId", transId);
+            logEntry.addProperty("status", status);
+            logEntry.addProperty("rqstDate", requestTs);
+            logEntry.addProperty("respDate", this.genDate());
+            logEntry.addProperty("sourceId", fromAppId + ":" + transId);
+            logEntry.addProperty("resourceId", fullUri);
+            logEntry.addProperty("resourceType", httpMethod);
+            logEntry.addProperty("rqstBuf", Objects.toString(request, ""));
+            logEntry.addProperty("respBuf", Objects.toString(response, ""));
+
+            try {
+                TRANSACTION_LOGGER.debug(logEntry.toString());
+            } catch (Exception e) {
+                ErrorLogHelper.logError("AAI_4000", "Exception writing transaction log.");
+            }
+        }
+    }
+
+    private String getResponseString(ContainerResponseContext responseContext) {
+        JsonObject response = new JsonObject();
+        response.addProperty("ID", responseContext.getHeaderString(AAIHeaderProperties.AAI_TX_ID));
+        response.addProperty("Content-Type", this.httpServletResponse.getContentType());
+        response.addProperty("Response-Code", responseContext.getStatus());
+        response.addProperty("Headers", responseContext.getHeaders().toString());
+        Optional<Object> entityOptional = Optional.ofNullable(responseContext.getEntity());
+        if (entityOptional.isPresent()) {
+            response.addProperty("Entity", entityOptional.get().toString());
+        } else {
+            response.addProperty("Entity", "");
+        }
+        return response.toString();
+    }
 
 }
index cb8e2b6..6f68c41 100644 (file)
@@ -37,7 +37,7 @@ aai.logging.trace.logrequest=false
 aai.logging.trace.logresponse=false
 
 aai.transaction.logging=true
-aai.transaction.logging.get=true
+aai.transaction.logging.get=false
 aai.transaction.logging.post=true
 
 aai.tools.enableBasicAuth=true