From 313dce44ae1ab2328c33a6448e87b3fbb81b15f0 Mon Sep 17 00:00:00 2001 From: olegb Date: Mon, 19 Feb 2018 16:11:35 +0200 Subject: Changed audit API of logger Change-Id: I3e091ba7ce592fae536da1eaf28a220284b846c3 Issue-ID: SDC-772 Signed-off-by: olegb --- .../org/openecomp/sdc/logging/api/AuditData.java | 50 +++++++++++++++++ .../java/org/openecomp/sdc/logging/api/Logger.java | 14 ++--- .../openecomp/sdc/logging/api/LoggerFactory.java | 25 ++------- .../sdc/logging/api/LoggerFactoryTest.java | 2 +- .../openecomp/sdc/logging/api/SpyAuditData.java | 63 ++++++++++++++++++++++ 5 files changed, 120 insertions(+), 34 deletions(-) create mode 100644 openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-api/src/main/java/org/openecomp/sdc/logging/api/AuditData.java create mode 100644 openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-api/src/test/java/org/openecomp/sdc/logging/api/SpyAuditData.java (limited to 'openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-api') diff --git a/openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-api/src/main/java/org/openecomp/sdc/logging/api/AuditData.java b/openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-api/src/main/java/org/openecomp/sdc/logging/api/AuditData.java new file mode 100644 index 0000000000..7292762474 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-api/src/main/java/org/openecomp/sdc/logging/api/AuditData.java @@ -0,0 +1,50 @@ +/* + * 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. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.openecomp.sdc.logging.api; + +/** + * @author KATYR + * @since February 15, 2018 + * This interface defines part of the Audit log application is responsible to provide. + * Fields list is according to ONAP application logging guidelines + * (https://wiki.onap.org/download/attachments/1015849/ONAP%20application%20logging%20guidelines.pdf?api=v2) + * StartTime -> BeginTimestamp (Date-time that processing for the activities begins) + * EndTime-> EndTimestamp (Date-time that processing for the activities being logged ends) + * StatusCode -> StatusCode (indicate high level success or failure of the operation activities that is invoked) + * ResponseCode -> ResponseCode(application-specific response code returned by the operation activities) + * ResponseDescription - > ResponseDescription (human readable description of the response code) + * ClientIpAddress -> ClientIpAddress (Requesting remote client application’s IP address) + */ + +public interface AuditData { + + enum StatusCode { + COMPLETE, ERROR + } + + long getStartTime(); + + long getEndTime(); + + StatusCode getStatusCode(); + + String getResponseCode(); + + String getResponseDescription(); + + String getClientIpAddress(); +} diff --git a/openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-api/src/main/java/org/openecomp/sdc/logging/api/Logger.java b/openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-api/src/main/java/org/openecomp/sdc/logging/api/Logger.java index cf5bdf6721..d02e99f9a2 100644 --- a/openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-api/src/main/java/org/openecomp/sdc/logging/api/Logger.java +++ b/openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-api/src/main/java/org/openecomp/sdc/logging/api/Logger.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. @@ -43,15 +43,7 @@ public interface Logger { boolean isAuditEnabled(); - void audit(String msg); - - void audit(String msg, Object arg); - - void audit(String msg, Object arg1, Object arg2); - - void audit(String msg, Object... arguments); - - void audit(String msg, Throwable t); + void audit(AuditData data); boolean isDebugEnabled(); @@ -100,4 +92,4 @@ public interface Logger { void error(String msg, Object... arguments); void error(String msg, Throwable t); -} +} \ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-api/src/main/java/org/openecomp/sdc/logging/api/LoggerFactory.java b/openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-api/src/main/java/org/openecomp/sdc/logging/api/LoggerFactory.java index 826f6d509f..399fd3717e 100644 --- a/openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-api/src/main/java/org/openecomp/sdc/logging/api/LoggerFactory.java +++ b/openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-api/src/main/java/org/openecomp/sdc/logging/api/LoggerFactory.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. @@ -99,27 +99,7 @@ public class LoggerFactory { } @Override - public void audit(String msg) { - // no-op - } - - @Override - public void audit(String msg, Object arg) { - // no-op - } - - @Override - public void audit(String msg, Object arg1, Object arg2) { - // no-op - } - - @Override - public void audit(String msg, Object... arguments) { - // no-op - } - - @Override - public void audit(String msg, Throwable t) { + public void audit(AuditData data) { // no-op } @@ -257,3 +237,4 @@ public class LoggerFactory { } } } + diff --git a/openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-api/src/test/java/org/openecomp/sdc/logging/api/LoggerFactoryTest.java b/openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-api/src/test/java/org/openecomp/sdc/logging/api/LoggerFactoryTest.java index 9fde4e5e6c..e174a32271 100644 --- a/openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-api/src/test/java/org/openecomp/sdc/logging/api/LoggerFactoryTest.java +++ b/openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-api/src/test/java/org/openecomp/sdc/logging/api/LoggerFactoryTest.java @@ -70,7 +70,7 @@ public class LoggerFactoryTest { logger.warn(""); logger.info(""); logger.debug(""); - logger.audit(""); + logger.audit(new SpyAuditData()); logger.metrics(""); } } diff --git a/openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-api/src/test/java/org/openecomp/sdc/logging/api/SpyAuditData.java b/openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-api/src/test/java/org/openecomp/sdc/logging/api/SpyAuditData.java new file mode 100644 index 0000000000..8766f2598b --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-api/src/test/java/org/openecomp/sdc/logging/api/SpyAuditData.java @@ -0,0 +1,63 @@ +/* + * 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. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.openecomp.sdc.logging.api; + +import java.util.HashSet; +import java.util.Set; + +public class SpyAuditData implements AuditData{ + private final Set calledMethods = new HashSet<>(); + + @Override + public long getStartTime() { + calledMethods.add("getStartTime"); + return 0; + } + + @Override + public long getEndTime() { + calledMethods.add("getEndTime"); + return 0; + } + + @Override + public AuditData.StatusCode getStatusCode() { + calledMethods.add("getEndTime"); + return null; + } + + @Override + public String getResponseCode() { + calledMethods.add("getResponseCode"); + return null; + } + + @Override + public String getResponseDescription() { + calledMethods.add("getResponseDescription"); + return null; + } + + @Override + public String getClientIpAddress() { + calledMethods.add("getClientIpAddress"); + return null; + } + + public boolean wasCalled(String method) { + return calledMethods.contains(method); + } +} -- cgit 1.2.3-korg