summaryrefslogtreecommitdiffstats
path: root/common-app-api/src/main/java/org/openecomp/sdc/common/ecomplogwrapper/EcompLoggerSdcMetric.java
diff options
context:
space:
mode:
Diffstat (limited to 'common-app-api/src/main/java/org/openecomp/sdc/common/ecomplogwrapper/EcompLoggerSdcMetric.java')
-rw-r--r--common-app-api/src/main/java/org/openecomp/sdc/common/ecomplogwrapper/EcompLoggerSdcMetric.java71
1 files changed, 71 insertions, 0 deletions
diff --git a/common-app-api/src/main/java/org/openecomp/sdc/common/ecomplogwrapper/EcompLoggerSdcMetric.java b/common-app-api/src/main/java/org/openecomp/sdc/common/ecomplogwrapper/EcompLoggerSdcMetric.java
new file mode 100644
index 0000000000..8603a77d08
--- /dev/null
+++ b/common-app-api/src/main/java/org/openecomp/sdc/common/ecomplogwrapper/EcompLoggerSdcMetric.java
@@ -0,0 +1,71 @@
+package org.openecomp.sdc.common.ecomplogwrapper;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.container.ContainerRequestContext;
+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.EcompLoggerMetric;
+import org.openecomp.sdc.common.ecomplog.Enums.LogLevel;
+import org.openecomp.sdc.common.ecomplog.Enums.Severity;
+import org.openecomp.sdc.common.util.ThreadLocalsHolder;
+
+/**
+ * Created by dd4296 on 12/20/2017.
+ *
+ * METRIC log for asdc using the ecomplog library
+ */
+public class EcompLoggerSdcMetric extends EcompLoggerSdcUtilBase {
+
+ private String className;
+
+ public EcompLoggerSdcMetric(String className) {
+ this.className = className;
+ }
+
+ public void startLog() {
+ EcompLoggerAudit
+ .getInstance()
+ .clear()
+ .startTimer();
+ }
+
+ public void writeToLog(HttpServletRequest sr,
+ ContainerRequestContext requestContext,
+ Response.StatusType statusInfo,
+ LogLevel errorLevel,
+ Severity securityLevel,
+ String targetEntity,
+ String targetServiceName,
+ String targetVirtualEntity,
+ String message) {
+
+ EcompLoggerMetric.getInstance()
+ .stopTimer()
+ .setRemoteHost(sr.getRemoteAddr())
+ .setServiceName(getServiceName(requestContext))
+ .setResponseCode(statusInfo.getStatusCode())
+ .setStatusCode(Integer.toString(statusInfo.getStatusCode()))
+ .setResponseDesc(statusInfo.getReasonPhrase())
+ .setKeyRequestId(ThreadLocalsHolder.getUuid())
+
+ .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(getUrl(requestContext) + "/" + requestContext.getMethod())
+
+ .setTargetEntity(targetEntity)
+ .setTargetServiceName(targetServiceName)
+ .setTargetVirtualEntity(targetVirtualEntity)
+
+ .log(errorLevel, message);
+ }
+}