1 package org.openecomp.sdc.common.ecomplog;
3 import static org.openecomp.sdc.common.ecomplog.api.IEcompLogConfiguration.MDC_ALERT_SEVERITY;
4 import static org.openecomp.sdc.common.ecomplog.api.IEcompLogConfiguration.MDC_BEGIN_TIMESTAMP;
5 import static org.openecomp.sdc.common.ecomplog.api.IEcompLogConfiguration.MDC_CLASS_NAME;
6 import static org.openecomp.sdc.common.ecomplog.api.IEcompLogConfiguration.MDC_ELAPSED_TIME;
7 import static org.openecomp.sdc.common.ecomplog.api.IEcompLogConfiguration.MDC_END_TIMESTAMP;
8 import static org.openecomp.sdc.common.ecomplog.api.IEcompLogConfiguration.MDC_INSTANCE_UUID;
9 import static org.openecomp.sdc.common.ecomplog.api.IEcompLogConfiguration.MDC_KEY_REQUEST_ID;
10 import static org.openecomp.sdc.common.ecomplog.api.IEcompLogConfiguration.MDC_OPT_FIELD1;
11 import static org.openecomp.sdc.common.ecomplog.api.IEcompLogConfiguration.MDC_OPT_FIELD2;
12 import static org.openecomp.sdc.common.ecomplog.api.IEcompLogConfiguration.MDC_OPT_FIELD3;
13 import static org.openecomp.sdc.common.ecomplog.api.IEcompLogConfiguration.MDC_OPT_FIELD4;
14 import static org.openecomp.sdc.common.ecomplog.api.IEcompLogConfiguration.MDC_PARTNER_NAME;
15 import static org.openecomp.sdc.common.ecomplog.api.IEcompLogConfiguration.MDC_PROCESS_KEY;
16 import static org.openecomp.sdc.common.ecomplog.api.IEcompLogConfiguration.MDC_REMOTE_HOST;
17 import static org.openecomp.sdc.common.ecomplog.api.IEcompLogConfiguration.MDC_RESPONSE_CODE;
18 import static org.openecomp.sdc.common.ecomplog.api.IEcompLogConfiguration.MDC_RESPONSE_DESC;
19 import static org.openecomp.sdc.common.ecomplog.api.IEcompLogConfiguration.MDC_SERVER_FQDN;
20 import static org.openecomp.sdc.common.ecomplog.api.IEcompLogConfiguration.MDC_SERVER_IP_ADDRESS;
21 import static org.openecomp.sdc.common.ecomplog.api.IEcompLogConfiguration.MDC_SERVICE_INSTANCE_ID;
22 import static org.openecomp.sdc.common.ecomplog.api.IEcompLogConfiguration.MDC_SERVICE_NAME;
23 import static org.openecomp.sdc.common.ecomplog.api.IEcompLogConfiguration.MDC_STATUS_CODE;
25 import org.openecomp.sdc.common.ecomplog.Enums.EcompLoggerErrorCode;
26 import org.openecomp.sdc.common.ecomplog.Enums.LogMarkers;
27 import org.openecomp.sdc.common.ecomplog.Enums.Severity;
28 import org.openecomp.sdc.common.ecomplog.Enums.StatusCode;
29 import org.openecomp.sdc.common.ecomplog.api.IEcompMdcWrapper;
31 import org.slf4j.MarkerFactory;
33 public class EcompLoggerAudit extends EcompLoggerBase{
34 private static EcompLoggerAudit instanceLoggerAudit = EcompLoggerFactory.getLogger(EcompLoggerAudit.class);
36 EcompLoggerAudit(IEcompMdcWrapper ecompMdcWrapper) {
37 super (ecompMdcWrapper, MarkerFactory.getMarker(LogMarkers.AUDIT_MARKER.text()));
40 public static EcompLoggerAudit getInstance() {
41 return instanceLoggerAudit;
45 public EcompLoggerAudit startTimer() {
46 return (EcompLoggerAudit) super.startTimer();
49 public EcompLoggerAudit stopTimer() {
50 ecompMdcWrapper.stopTimer();
54 // automatic parameter this is optional
55 public EcompLoggerAudit setAutoServerFQDN(String serverFQDN) {
56 ecompMdcWrapper.setAutoServerFQDN(serverFQDN);
60 // automatic parameter this is optional
61 public EcompLoggerAudit setAutoServerIPAddress(String serverIPAddress) {
62 ecompMdcWrapper.setAutoServerIPAddress(serverIPAddress);
66 public EcompLoggerAudit setInstanceUUID(String instanceUUID) {
67 ecompMdcWrapper.setInstanceUUID(instanceUUID);
71 public EcompLoggerAudit setOptClassName(String className) {
72 MDC.put("ClassName", className);
76 public EcompLoggerAudit setOptProcessKey(String processKey) {
77 ecompMdcWrapper.setProcessKey(processKey);
81 public EcompLoggerAudit setOptAlertSeverity(Severity alertSeverity) {
82 ecompMdcWrapper.setAlertSeverity(alertSeverity);
86 // ecomplog optional parameter
87 public EcompLoggerAudit setOptCustomField1(String customField1) {
88 ecompMdcWrapper.setOptCustomField1(customField1);
92 // ecomplog optional parameter
93 public EcompLoggerAudit setOptCustomField2(String customField2) {
94 ecompMdcWrapper.setOptCustomField2(customField2);
98 // ecomplog optional parameter
99 public EcompLoggerAudit setOptCustomField3(String customField3) {
100 ecompMdcWrapper.setOptCustomField3(customField3);
104 public EcompLoggerAudit setOptCustomField4(String customField4) {
105 ecompMdcWrapper.setOptCustomField4(customField4);
110 public EcompLoggerAudit setKeyRequestId(String keyRequestId) {
111 return (EcompLoggerAudit) super.setKeyRequestId(keyRequestId);
114 public EcompLoggerAudit setRemoteHost(String remoteHost) {
115 ecompMdcWrapper.setRemoteHost(remoteHost);
119 public EcompLoggerAudit setServiceName(String serviceName) {
120 ecompMdcWrapper.setServiceName(serviceName);
124 public EcompLoggerAudit setStatusCode(String statusCode) {
125 // status code is either success (COMPLETE) or failure (ERROR) of the request.
126 String respStatus = Integer.parseInt(statusCode) / 100 == 2 ? StatusCode.COMPLETE.getStatusCodeEnum() : StatusCode.ERROR.getStatusCodeEnum();
127 ecompMdcWrapper.setStatusCode(respStatus);
131 public EcompLoggerAudit setPartnerName(String partnerName) {
132 ecompMdcWrapper.setPartnerName(partnerName);
136 public EcompLoggerAudit setResponseCode(EcompLoggerErrorCode responseCode) {
137 ecompMdcWrapper.setResponseCode(responseCode.getErrorCode());
141 public EcompLoggerAudit setResponseDesc(String responseDesc) {
142 ecompMdcWrapper.setResponseDesc(responseDesc);
146 public EcompLoggerAudit setOptServiceInstanceId(String serviceInstanceId) {
147 ecompMdcWrapper.setServiceInstanceId(serviceInstanceId);
152 public EcompLoggerAudit clear() {
153 return (EcompLoggerAudit) super.clear();
157 public void initializeMandatoryFields() {
159 ecompMdcWrapper.setMandatoryField(MDC_BEGIN_TIMESTAMP);
160 ecompMdcWrapper.setMandatoryField(MDC_END_TIMESTAMP);
161 ecompMdcWrapper.setMandatoryField(MDC_KEY_REQUEST_ID);
162 ecompMdcWrapper.setMandatoryField(MDC_SERVICE_NAME);
163 ecompMdcWrapper.setMandatoryField(MDC_PARTNER_NAME);
164 ecompMdcWrapper.setMandatoryField(MDC_STATUS_CODE);
165 ecompMdcWrapper.setMandatoryField(MDC_RESPONSE_CODE);
166 ecompMdcWrapper.setMandatoryField(MDC_SERVICE_INSTANCE_ID);
167 ecompMdcWrapper.setMandatoryField(MDC_RESPONSE_DESC);
168 ecompMdcWrapper.setMandatoryField(MDC_ELAPSED_TIME);
170 //Theoretically Optional, but practically Mandatory
171 ecompMdcWrapper.setMandatoryField(MDC_SERVER_IP_ADDRESS);
172 ecompMdcWrapper.setMandatoryField(MDC_SERVER_FQDN);
174 ecompMdcWrapper.setOptionalField(MDC_INSTANCE_UUID);
175 ecompMdcWrapper.setOptionalField(MDC_ALERT_SEVERITY);
176 ecompMdcWrapper.setOptionalField(MDC_REMOTE_HOST);
177 ecompMdcWrapper.setOptionalField(MDC_CLASS_NAME);
178 ecompMdcWrapper.setOptionalField(MDC_PROCESS_KEY);
179 ecompMdcWrapper.setOptionalField(MDC_OPT_FIELD1);
180 ecompMdcWrapper.setOptionalField(MDC_OPT_FIELD2);
181 ecompMdcWrapper.setOptionalField(MDC_OPT_FIELD3);
182 ecompMdcWrapper.setOptionalField(MDC_OPT_FIELD4);