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.openecomp.sdc.common.log.api.ILogConfiguration.*;
18 public class LoggerMetric extends LoggerBase {
19 private static ArrayList<String> mandatoryFields = new ArrayList<>(Arrays.asList(
20 MDC_METRIC_BEGIN_TIMESTAMP,
27 MDC_SERVICE_INSTANCE_ID,
31 MDC_TARGET_SERVICE_NAME,
32 MDC_TARGET_VIRTUAL_ENTITY,
33 MDC_SERVER_IP_ADDRESS,
36 private static ArrayList<String> optionalFields = new ArrayList<>(Arrays.asList(
47 LoggerMetric(ILogFieldsHandler ecompMdcWrapper, Logger logger) {
48 super(ecompMdcWrapper, MarkerFactory.getMarker(LogMarkers.METRIC_MARKER.text()), logger);
49 //put the remote host and FQDN values from another thread if they are set
50 ecompMdcWrapper.setServerIPAddressInternally();
51 ecompMdcWrapper.setServerFQDNInternally();
54 public void log(Response.StatusType statusInfo,
57 Severity securityLevel,
59 log(statusInfo,className, logLevel, securityLevel, message);
63 public void log(LogLevel logLevel, String message) {
64 setKeyRequestIdIfNotSetYet();
65 log(logLevel, message, (Object) null);
69 public LoggerMetric startTimer() {
71 ecompLogFieldsHandler.startMetricTimer();
75 public LoggerMetric stopTimer() {
76 ecompLogFieldsHandler.stopMetricTimer();
81 public LoggerMetric setKeyRequestId(String keyRequestId) {
82 return (LoggerMetric) super.setKeyRequestId(keyRequestId);
86 public List<String> getMandatoryFields() {
87 return mandatoryFields;
91 public LoggerMetric clear() {
92 ecompLogFieldsHandler.removeTargetEntity();
93 ecompLogFieldsHandler.removeTargetServiceName();
94 ecompLogFieldsHandler.removeResponseCode();
95 ecompLogFieldsHandler.removeResponseDesc();
96 ecompLogFieldsHandler.removeStatusCode();
100 // automatic parameter this is optional
101 public LoggerMetric setAutoServerFQDN(String serverFQDN) {
102 ecompLogFieldsHandler.setServerFQDN(serverFQDN);
106 // automatic parameter this is optional
107 public LoggerMetric setAutoServerIPAddress(String serverIPAddress) {
108 ecompLogFieldsHandler.setServerIPAddress(serverIPAddress);
112 public LoggerMetric setInstanceUUID(String instanceUUID) {
113 ecompLogFieldsHandler.setInstanceUUID(instanceUUID);
117 // log optional parameter
118 public LoggerMetric setOptProcessKey(String processKey) {
119 ecompLogFieldsHandler.setProcessKey(processKey);
123 // log optional parameter
124 public LoggerMetric setOptAlertSeverity(Severity alertSeverity) {
125 ecompLogFieldsHandler.setAlertSeverity(alertSeverity);
129 // log optional parameter
130 public LoggerMetric setOptCustomField1(String customField1) {
131 ecompLogFieldsHandler.setOptCustomField1(customField1);
135 // log optional parameter
136 public LoggerMetric setOptCustomField2(String customField2) {
137 ecompLogFieldsHandler.setOptCustomField2(customField2);
141 // log optional parameter
142 public LoggerMetric setOptCustomField3(String customField3) {
143 ecompLogFieldsHandler.setOptCustomField3(customField3);
147 // log optional parameter
148 public LoggerMetric setOptCustomField4(String customField4) {
149 ecompLogFieldsHandler.setOptCustomField4(customField4);
153 public LoggerMetric setRemoteHost(String remoteHost) {
154 ecompLogFieldsHandler.setRemoteHost(remoteHost);
158 public LoggerMetric setServiceName(String serviceName) {
159 ecompLogFieldsHandler.setServiceName(serviceName);
163 public LoggerMetric setStatusCode(String statusCode) {
164 ecompLogFieldsHandler.setStatusCode(statusCode);
168 public LoggerMetric setPartnerName(String partnerName) {
169 ecompLogFieldsHandler.setPartnerName(partnerName);
173 public LoggerMetric setResponseCode(int responseCode) {
174 ecompLogFieldsHandler.setResponseCode(responseCode);
178 public LoggerMetric setResponseDesc(String responseDesc) {
179 ecompLogFieldsHandler.setResponseDesc(responseDesc);
183 public LoggerMetric setOptServiceInstanceId(String serviceInstanceId) {
184 ecompLogFieldsHandler.setServiceInstanceId(serviceInstanceId);
188 public LoggerMetric setOptClassName(String className) {
189 ecompLogFieldsHandler.setClassName(className);
193 public LoggerMetric setTargetEntity(String targetEntity) {
194 ecompLogFieldsHandler.setTargetEntity(targetEntity);
198 public LoggerMetric setTargetServiceName(String targetServiceName) {
199 ecompLogFieldsHandler.setTargetServiceName(targetServiceName);
203 public LoggerMetric setTargetVirtualEntity(String targetVirtualEntity) {
204 ecompLogFieldsHandler.setTargetVirtualEntity(targetVirtualEntity);