summaryrefslogtreecommitdiffstats
path: root/common-app-api/src/main/java/org/openecomp/sdc/common/ecomplogwrapper/EcompLoggerSdcAudit.java
diff options
context:
space:
mode:
Diffstat (limited to 'common-app-api/src/main/java/org/openecomp/sdc/common/ecomplogwrapper/EcompLoggerSdcAudit.java')
-rw-r--r--common-app-api/src/main/java/org/openecomp/sdc/common/ecomplogwrapper/EcompLoggerSdcAudit.java92
1 files changed, 92 insertions, 0 deletions
diff --git a/common-app-api/src/main/java/org/openecomp/sdc/common/ecomplogwrapper/EcompLoggerSdcAudit.java b/common-app-api/src/main/java/org/openecomp/sdc/common/ecomplogwrapper/EcompLoggerSdcAudit.java
new file mode 100644
index 0000000000..57499b340d
--- /dev/null
+++ b/common-app-api/src/main/java/org/openecomp/sdc/common/ecomplogwrapper/EcompLoggerSdcAudit.java
@@ -0,0 +1,92 @@
+package org.openecomp.sdc.common.ecomplogwrapper;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.container.ContainerRequestContext;
+import javax.ws.rs.core.MultivaluedMap;
+import javax.ws.rs.core.Response;
+
+import org.openecomp.sdc.common.api.Constants;
+import org.openecomp.sdc.common.ecomplog.EcompLoggerAudit;
+import org.openecomp.sdc.common.ecomplog.Enums.LogLevel;
+import org.openecomp.sdc.common.ecomplog.Enums.Severity;
+import org.slf4j.MDC;
+
+
+/**
+ * Created by dd4296 on 12/19/2017.
+ *
+ * audit log for asdc using the ecomplog library
+ * this is adapted for filter classes
+ */
+public class EcompLoggerSdcAudit extends EcompLoggerSdcUtilBase {
+
+ private static String AUDIT_ON = "auditOn";
+ private String className;
+
+ public EcompLoggerSdcAudit(String className) {
+ this.className = className;
+ }
+
+ public void startLog() {
+ EcompLoggerAudit
+ .getInstance()
+ .clear()
+ .startTimer();
+ MDC.put(AUDIT_ON, "true");
+ }
+
+ public static boolean isFlowBeingTakenCare(){
+ try
+ {
+ if (MDC.get(AUDIT_ON).equals("true")){
+ return true;
+ }
+ return false;
+ }
+ catch (Exception E)
+ {
+ return false;
+ }
+ }
+
+ public void log(HttpServletRequest sr,
+ ContainerRequestContext requestContext,
+ Response.StatusType statusInfo,
+ MultivaluedMap<String, Object> responseHeaders,
+ LogLevel errorLevel,
+ Severity securityLevel,
+ String message) {
+
+ try {
+ EcompLoggerAudit.getInstance()
+ .stopTimer()
+ .setRemoteHost(sr.getRemoteAddr())
+ .setServiceName(getServiceName(requestContext))
+ .setResponseCode(convertHttpCodeToErrorCode(statusInfo.getStatusCode()))
+ .setStatusCode(Integer.toString(statusInfo.getStatusCode()))
+ .setResponseDesc(statusInfo.getReasonPhrase())
+ .setKeyRequestId(getRequestIDfromHeaders(responseHeaders.get(Constants.X_ECOMP_REQUEST_ID_HEADER)))
+
+ .setPartnerName(getPartnerName(
+ requestContext.getHeaderString("user-agent"),
+ requestContext.getHeaderString("USER_ID"),
+ getUrl(requestContext)))
+
+ .setInstanceUUID(requestContext.getHeaderString(Constants.X_ECOMP_INSTANCE_ID_HEADER))
+
+ .setOptServiceInstanceId(requestContext.getHeaderString(Constants.X_ECOMP_SERVICE_ID_HEADER))
+ .setOptClassName(className)
+ .setOptAlertSeverity(securityLevel)
+ .setOptCustomField1(requestContext.getMethod() + ": " + getUrl(requestContext))
+ .setOptCustomField2(Integer.toString(statusInfo.getStatusCode()))
+ .log(errorLevel, message);
+ }
+ catch (Exception E)
+ {
+ log.warn("Faild to write to Audit Log. Original Message: {}", message);
+ }
+ finally {
+ MDC.put(AUDIT_ON,"false");
+ }
+ }
+}