1 package org.openecomp.sdc.common.log.elements;
3 import org.openecomp.sdc.common.log.api.ILogFieldsHandler;
4 import org.openecomp.sdc.common.log.enums.LogLevel;
5 import org.openecomp.sdc.common.log.enums.LogMarkers;
6 import org.openecomp.sdc.common.log.enums.Severity;
7 import org.slf4j.Logger;
8 import org.slf4j.MarkerFactory;
10 import javax.ws.rs.core.Response;
11 import java.util.ArrayList;
12 import java.util.Arrays;
13 import java.util.List;
15 import static org.onap.logging.ref.slf4j.ONAPLogConstants.MDCs.*;
16 import static org.openecomp.sdc.common.log.api.ILogConfiguration.*;
19 public class LoggerMetric extends LoggerBase {
20 private static ArrayList<String> mandatoryFields = new ArrayList<>(Arrays.asList(
27 MDC_SERVICE_INSTANCE_ID,
31 MDC_SERVER_IP_ADDRESS,
34 private static ArrayList<String> optionalFields = new ArrayList<>(Arrays.asList(
35 MDC_TARGET_VIRTUAL_ENTITY,
50 LoggerMetric(ILogFieldsHandler ecompMdcWrapper, Logger logger) {
51 super(ecompMdcWrapper, MarkerFactory.getMarker(LogMarkers.METRIC_MARKER.text()), logger);
52 //put the remote host and FQDN values from another thread if they are set
53 ecompMdcWrapper.setServerIPAddressInternally();
54 ecompMdcWrapper.setServerFQDNInternally();
57 public void log(Response.StatusType statusInfo,
60 Severity securityLevel,
62 log(statusInfo,className, logLevel, securityLevel, message);
66 public void log(LogLevel logLevel, String message) {
67 setKeyRequestIdIfNotSetYet();
68 log(logLevel, message, (Object) null);
72 public LoggerMetric startTimer() {
74 ecompLogFieldsHandler.startMetricTimer();
78 public LoggerMetric stopTimer() {
79 ecompLogFieldsHandler.stopMetricTimer();
84 public LoggerMetric setKeyRequestId(String keyRequestId) {
85 return (LoggerMetric) super.setKeyRequestId(keyRequestId);
89 public List<String> getMandatoryFields() {
90 return mandatoryFields;
94 public LoggerMetric clear() {
95 ecompLogFieldsHandler.removeTargetEntity();
96 ecompLogFieldsHandler.removeTargetServiceName();
97 ecompLogFieldsHandler.removeResponseCode();
98 ecompLogFieldsHandler.removeResponseDesc();
99 ecompLogFieldsHandler.removeStatusCode();
104 public LoggerMetric setInstanceUUID(String instanceUUID) {
105 ecompLogFieldsHandler.setInstanceUUID(instanceUUID);
110 public LoggerMetric setOutgoingInvocationId(String out_invocationId) {
111 ecompLogFieldsHandler.setOutgoingInvocationId(out_invocationId);
115 public LoggerMetric setRemoteHost(String remoteHost) {
116 ecompLogFieldsHandler.setRemoteHost(remoteHost);
120 public LoggerMetric setServiceName(String serviceName) {
121 ecompLogFieldsHandler.setServiceName(serviceName);
125 public LoggerMetric setStatusCode(String statusCode) {
126 ecompLogFieldsHandler.setStatusCode(statusCode);
130 public LoggerMetric setPartnerName(String partnerName) {
131 ecompLogFieldsHandler.setPartnerName(partnerName);
135 public LoggerMetric setResponseCode(int responseCode) {
136 ecompLogFieldsHandler.setResponseCode(responseCode);
140 public LoggerMetric setResponseDesc(String responseDesc) {
141 ecompLogFieldsHandler.setResponseDesc(responseDesc);
145 public LoggerMetric setOptServiceInstanceId(String serviceInstanceId) {
146 ecompLogFieldsHandler.setServiceInstanceId(serviceInstanceId);
150 public LoggerMetric setOptClassName(String className) {
151 ecompLogFieldsHandler.setClassName(className);
155 public LoggerMetric setTargetEntity(String targetEntity) {
156 ecompLogFieldsHandler.setTargetEntity(targetEntity);
160 public LoggerMetric setTargetServiceName(String targetServiceName) {
161 ecompLogFieldsHandler.setTargetServiceName(targetServiceName);
165 public LoggerMetric setTargetVirtualEntity(String targetVirtualEntity) {
166 ecompLogFieldsHandler.setTargetVirtualEntity(targetVirtualEntity);