summaryrefslogtreecommitdiffstats
path: root/cmso-ticketmgt/src/main/java/org/onap/observations/Mdc.java
diff options
context:
space:
mode:
Diffstat (limited to 'cmso-ticketmgt/src/main/java/org/onap/observations/Mdc.java')
-rw-r--r--cmso-ticketmgt/src/main/java/org/onap/observations/Mdc.java103
1 files changed, 89 insertions, 14 deletions
diff --git a/cmso-ticketmgt/src/main/java/org/onap/observations/Mdc.java b/cmso-ticketmgt/src/main/java/org/onap/observations/Mdc.java
index 32aa60c..41fd3df 100644
--- a/cmso-ticketmgt/src/main/java/org/onap/observations/Mdc.java
+++ b/cmso-ticketmgt/src/main/java/org/onap/observations/Mdc.java
@@ -1,32 +1,33 @@
/*
* Copyright © 2019 AT&T Intellectual Property.
- *
+ *
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *
+ *
+ *
* Unless otherwise specified, all documentation contained herein is licensed
* under the Creative Commons License, Attribution 4.0 Intl. (the "License");
* you may not use this documentation except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* https://creativecommons.org/licenses/by/4.0/
- *
+ *
* Unless required by applicable law or agreed to in writing, documentation
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package org.onap.observations;
import static com.att.eelf.configuration.Configuration.MDC_BEGIN_TIMESTAMP;
@@ -39,6 +40,7 @@ import static com.att.eelf.configuration.Configuration.MDC_RESPONSE_DESC;
import static com.att.eelf.configuration.Configuration.MDC_STATUS_CODE;
import static com.att.eelf.configuration.Configuration.MDC_TARGET_ENTITY;
import static com.att.eelf.configuration.Configuration.MDC_TARGET_SERVICE_NAME;
+
import com.att.eelf.utils.Stopwatch;
import java.net.URI;
import java.util.Date;
@@ -58,8 +60,13 @@ import org.slf4j.MDC;
* EELF logging MDC fields not defined in the MDC Configuration (i.e. MDC_ALERT_SEVERITY)
**/
public class Mdc {
+
+ /** The Constant SERVICE_NAME. */
public static final String SERVICE_NAME = "CSS-Scheduler";
+ /**
+ * The Enum Enum.
+ */
public enum Enum {
// BeginTimestamp,
// EndTimeStamp,
@@ -92,54 +99,105 @@ public class Mdc {
Timer,
}
+ /**
+ * Gets the caller.
+ *
+ * @param back the back
+ * @return the caller
+ */
public static String getCaller(int back) {
StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
return stackTraceElements[back].getClassName() + "." + stackTraceElements[back].getMethodName();
}
+ /**
+ * Sets the caller.
+ *
+ * @param back the new caller
+ */
public static void setCaller(int back) {
String caller = MDC.get(Enum.ClassName.name());
- if (caller == null)
+ if (caller == null) {
MDC.put(Enum.ClassName.name(), getCaller(back));
+ }
}
- public static void setObservation(ObservationInterface o) {
- MDC.put(Enum.CustomField4.name(), o.name());
+ /**
+ * Sets the observation.
+ *
+ * @param obs the new observation
+ */
+ public static void setObservation(ObservationInterface obs) {
+ MDC.put(Enum.CustomField4.name(), obs.name());
}
+ /**
+ * Clear caller.
+ */
public static void clearCaller() {
MDC.remove(Enum.ClassName.name());
}
+ /**
+ * Save.
+ *
+ * @return the map
+ */
public static Map<String, String> save() {
Map<String, String> save = MDC.getCopyOfContextMap();
return save;
}
+ /**
+ * Restore.
+ *
+ * @param mdcSave the mdc save
+ */
public static void restore(Map<String, String> mdcSave) {
MDC.clear();
- for (String name : mdcSave.keySet())
+ for (String name : mdcSave.keySet()) {
MDC.put(name, mdcSave.get(name));
+ }
}
+ /**
+ * Sets the request id if not set.
+ *
+ * @param requestId the new request id if not set
+ */
public static void setRequestIdIfNotSet(String requestId) {
if (MDC.get(MDC_KEY_REQUEST_ID) == null || MDC.get(MDC_KEY_REQUEST_ID).equals("")) {
setRequestId(requestId);
}
}
+ /**
+ * Sets the request id.
+ *
+ * @param requestId the new request id
+ */
public static void setRequestId(String requestId) {
MDC.put(MDC_KEY_REQUEST_ID, requestId);
}
+ /**
+ * Metric start.
+ *
+ * @param requestContext the request context
+ */
public static void metricStart(ClientRequestContext requestContext) {
MDC.put(MDC_BEGIN_TIMESTAMP, Stopwatch.isoFormatter.format(new Date()));
MDC.put(MDC_END_TIMESTAMP, MDC.get(MDC_BEGIN_TIMESTAMP));
setPartnerTargetFromUri(requestContext.getUri());
}
+ /**
+ * Metric end.
+ *
+ * @param response the response
+ */
public static void metricEnd(ClientResponseContext response) {
Date now = new Date();
@@ -149,13 +207,19 @@ public class Mdc {
}
+ /**
+ * Audit start.
+ *
+ * @param requestContext the request context
+ * @param servletRequest the servlet request
+ */
public static void auditStart(ContainerRequestContext requestContext, HttpServletRequest servletRequest) {
MDC.put(MDC_BEGIN_TIMESTAMP, Stopwatch.isoFormatter.format(new Date()));
MDC.put(MDC_END_TIMESTAMP, MDC.get(MDC_BEGIN_TIMESTAMP));
MDC.put(MDC_REMOTE_HOST, servletRequest.getRemoteHost());
MDC.put(Enum.ClassName.name(), getCaller(4));
MultivaluedMap<String, String> headers = requestContext.getHeaders();
- String transactionId = (String) headers.getFirst(HeadersEnum.TransactionID.toString());
+ String transactionId = headers.getFirst(HeadersEnum.TransactionID.toString());
if (transactionId != null) {
setRequestId(transactionId);
} else {
@@ -164,6 +228,12 @@ public class Mdc {
}
+ /**
+ * Audit end.
+ *
+ * @param requestContext the request context
+ * @param response the response
+ */
public static void auditEnd(ContainerRequestContext requestContext, ContainerResponseContext response) {
Date now = new Date();
// MDC.put(MDC_BEGIN_TIMESTAMP, Stopwatch.isoFormatter.format(now));
@@ -185,10 +255,15 @@ public class Mdc {
MDC.put(MDC_STATUS_CODE, completed);
}
- public static void setEvent(String requestID) {
+ /**
+ * Sets the event.
+ *
+ * @param requestId the new event
+ */
+ public static void setEvent(String requestId) {
MDC.put(MDC_BEGIN_TIMESTAMP, Stopwatch.isoFormatter.format(new Date()));
MDC.put(MDC_END_TIMESTAMP, MDC.get(MDC_BEGIN_TIMESTAMP));
- setRequestId(requestID);
+ setRequestId(requestId);
}
private static void setPartnerTargetFromUri(URI uri) {