aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-core/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-core/src/main')
-rw-r--r--openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/slf4j/SLF4JLoggerWrapper.java70
-rw-r--r--openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/slf4j/SLF4JLoggingServiceProvider.java19
2 files changed, 64 insertions, 25 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/slf4j/SLF4JLoggerWrapper.java b/openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/slf4j/SLF4JLoggerWrapper.java
index 5d223450bd..416af8fff1 100644
--- a/openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/slf4j/SLF4JLoggerWrapper.java
+++ b/openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/slf4j/SLF4JLoggerWrapper.java
@@ -1,5 +1,5 @@
/*
- * Copyright © 2016-2017 European Support Limited
+ * Copyright © 2016-2018 European Support Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,8 +16,15 @@
package org.openecomp.sdc.logging.slf4j;
+import org.openecomp.sdc.logging.api.AuditData;
import org.openecomp.sdc.logging.api.Logger;
import org.slf4j.LoggerFactory;
+import org.slf4j.MDC;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import static org.openecomp.sdc.logging.slf4j.SLF4JLoggingServiceProvider.PREFIX;
/**
* @author EVITALIY
@@ -25,6 +32,16 @@ import org.slf4j.LoggerFactory;
*/
class SLF4JLoggerWrapper implements Logger {
+ private static final String BEGIN_TIMESTAMP = PREFIX + "BeginTimestamp";
+ private static final String END_TIMESTAMP = PREFIX + "EndTimestamp";
+ private static final String ELAPSED_TIME = PREFIX + "ElapsedTime";
+ private static final String STATUS_CODE = PREFIX + "StatusCode";
+ private static final String RESPONSE_CODE = PREFIX + "ResponseCode";
+ private static final String RESPONSE_DESCRIPTION = PREFIX + "ResponsDescription";
+ private static final String CLIENT_IP_ADDRESS = PREFIX + "ClientIpAddress";
+
+ //The specified format presents time in UTC formatted per ISO 8601, as required by ONAP logging guidelines
+ private final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
private final org.slf4j.Logger logger;
SLF4JLoggerWrapper(Class<?> clazz) {
@@ -76,28 +93,43 @@ class SLF4JLoggerWrapper implements Logger {
}
@Override
- public void audit(String msg) {
- logger.info(Markers.AUDIT, msg);
- }
+ public void audit(AuditData data) {
- @Override
- public void audit(String msg, Object arg) {
- logger.info(Markers.AUDIT, msg, arg);
- }
+ if (data == null) {
+ return;
+ }
- @Override
- public void audit(String msg, Object arg1, Object arg2) {
- logger.info(Markers.AUDIT, msg, arg1, arg2);
- }
+ MDC.put(BEGIN_TIMESTAMP, DATE_FORMAT.format(new Date(data.getStartTime())));
+ MDC.put(END_TIMESTAMP, DATE_FORMAT.format(new Date(data.getEndTime())));
+ MDC.put(ELAPSED_TIME, String.valueOf(data.getEndTime() - data.getStartTime()));
- @Override
- public void audit(String msg, Object... arguments) {
- logger.info(Markers.AUDIT, msg, arguments);
- }
+ if (data.getStatusCode() != null) {
+ MDC.put(STATUS_CODE, data.getStatusCode() == AuditData.StatusCode.COMPLETE ? "COMPLETE" : "ERROR");
+ }
- @Override
- public void audit(String msg, Throwable t) {
- logger.info(Markers.AUDIT, msg, t);
+ if (data.getResponseCode() != null) {
+ MDC.put(RESPONSE_CODE, data.getResponseCode());
+ }
+
+ if (data.getResponseDescription() != null) {
+ MDC.put(RESPONSE_DESCRIPTION, data.getResponseDescription());
+ }
+
+ if (data.getClientIpAddress() != null) {
+ MDC.put(CLIENT_IP_ADDRESS, data.getClientIpAddress());
+ }
+
+ try {
+ logger.info(Markers.AUDIT, "");
+ } finally {
+ MDC.remove(BEGIN_TIMESTAMP);
+ MDC.remove(END_TIMESTAMP);
+ MDC.remove(ELAPSED_TIME);
+ MDC.remove(STATUS_CODE);
+ MDC.remove(RESPONSE_CODE);
+ MDC.remove(RESPONSE_DESCRIPTION);
+ MDC.remove(CLIENT_IP_ADDRESS);
+ }
}
@Override
diff --git a/openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/slf4j/SLF4JLoggingServiceProvider.java b/openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/slf4j/SLF4JLoggingServiceProvider.java
index d2fb0b0226..86b2297371 100644
--- a/openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/slf4j/SLF4JLoggingServiceProvider.java
+++ b/openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/slf4j/SLF4JLoggingServiceProvider.java
@@ -1,12 +1,12 @@
/*
- * Copyright © 2016-2017 European Support Limited
+ * Copyright © 2016-2018 European Support Limited
*
* 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.
@@ -16,20 +16,25 @@
package org.openecomp.sdc.logging.slf4j;
+import java.util.Objects;
+import java.util.concurrent.Callable;
import org.openecomp.sdc.logging.api.Logger;
import org.openecomp.sdc.logging.spi.LoggingServiceProvider;
import org.slf4j.MDC;
-import java.util.Objects;
-import java.util.concurrent.Callable;
-
/**
* @author evitaliy
* @since 13/09/2016.
*/
public class SLF4JLoggingServiceProvider implements LoggingServiceProvider {
+ public static final String PREFIX = "";
private static final String KEY_CANNOT_BE_NULL = "Key cannot be null";
+ private static final String REQUEST_ID = PREFIX + "RequestId";
+ private static final String SERVICE_NAME = PREFIX + "ServiceName";
+ private static final String PARTNER_NAME = PREFIX + "PartnerName";
+
+ private static final String[] ALL_FIELDS = { REQUEST_ID, SERVICE_NAME, PARTNER_NAME };
@Override
public Logger getLogger(String className) {
@@ -69,12 +74,14 @@ public class SLF4JLoggingServiceProvider implements LoggingServiceProvider {
@Override
public Runnable copyToRunnable(Runnable runnable) {
Objects.requireNonNull(runnable, "Runnable cannot be null");
+ // TODO: Copy only the fields this service is responsible for
return new MDCRunnableWrapper(runnable);
}
@Override
public <V> Callable<V> copyToCallable(Callable<V> callable) {
Objects.requireNonNull(callable, "Runnable cannot be null");
+ // TODO: Copy only the fields this service is responsible for
return new MDCCallableWrapper<>(callable);
}