diff options
author | Plummer, Brittany <brittany.plummer@att.com> | 2020-03-04 21:19:08 -0500 |
---|---|---|
committer | Benjamin, Max (mb388a) <mb388a@att.com> | 2020-03-05 10:43:49 -0500 |
commit | 0d63836c2eaa7267d55a4757fd83ea1b4b1c8bb2 (patch) | |
tree | e7757b4bae25083a08f2a8c0846f1ca823ef19ed /common | |
parent | 93fd7052a09fecf632bfde52debc772b1686d634 (diff) |
create custom spring aop annotation for logging
Added annotation for setting up scheduled tasks logs
Added new annotation to scheduledTasks
Moved annotation setup to logging-library
Issue-ID: SO-2713
Signed-off-by: Benjamin, Max (mb388a) <mb388a@att.com>
Change-Id: I7080c4bb289e454f14167631e2601c954389c0ef
Diffstat (limited to 'common')
7 files changed, 11 insertions, 218 deletions
diff --git a/common/src/main/java/org/onap/so/db/connections/ScheduledDnsLookup.java b/common/src/main/java/org/onap/so/db/connections/ScheduledDnsLookup.java index 40acac57aa..725da97d5b 100644 --- a/common/src/main/java/org/onap/so/db/connections/ScheduledDnsLookup.java +++ b/common/src/main/java/org/onap/so/db/connections/ScheduledDnsLookup.java @@ -8,11 +8,9 @@ import javax.management.JMX; import javax.management.MBeanServer; import javax.management.ObjectInstance; import javax.management.ObjectName; -import org.jboss.logging.MDC; -import org.onap.logging.filter.base.ONAPComponents; -import org.onap.logging.ref.slf4j.ONAPLogConstants; -import org.onap.so.logger.ErrorCode; -import org.onap.so.logger.ScheduledTasksMDCSetup; +import org.onap.logging.filter.base.ErrorCode; +import org.onap.logging.filter.base.ScheduledLogging; +import org.onap.logging.filter.base.ScheduledTaskException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -32,23 +30,16 @@ public class ScheduledDnsLookup { @Autowired private DbDnsIpAddress dnsIpAddress; - @Autowired - private ScheduledTasksMDCSetup scheduledMDCSetup; - private static Logger logger = LoggerFactory.getLogger(ScheduledDnsLookup.class); + @ScheduledLogging @Scheduled(fixedRate = 15000) - public void performDnsLookup() { - scheduledMDCSetup.mdcSetup(ONAPComponents.SO, "performDnsLookup"); + public void performDnsLookup() throws ScheduledTaskException { String dnsUrl = System.getenv(DB_HOST); - try { if (dnsUrl == null) { - scheduledMDCSetup.errorMDCSetup(ErrorCode.DataError, "Database DNS is not provided."); - logger.error("Database DNS is not provided. Please verify the configuration"); - MDC.put(ONAPLogConstants.MDCs.RESPONSE_STATUS_CODE, ONAPLogConstants.ResponseStatus.ERROR.toString()); - scheduledMDCSetup.exitAndClearMDC(); - return; + throw new ScheduledTaskException(ErrorCode.DataError, + "Database DNS is not provided. Please verify the configuration"); } InetAddress inetAddress = java.net.InetAddress.getByName(dnsUrl); @@ -57,7 +48,6 @@ public class ScheduledDnsLookup { /* This is in initial state */ if (currentIpAddress == null) { dnsIpAddress.setIpAddress(ipAddress); - scheduledMDCSetup.exitAndClearMDC(); return; } @@ -69,7 +59,6 @@ public class ScheduledDnsLookup { } catch (UnknownHostException e) { logger.warn("Database DNS %s is not resolvable to an IP Address", dnsUrl); } - scheduledMDCSetup.exitAndClearMDC(); } private void softEvictConnectionPool() { diff --git a/common/src/main/java/org/onap/so/logger/ErrorCode.java b/common/src/main/java/org/onap/so/logger/ErrorCode.java deleted file mode 100644 index a57ed99f2b..0000000000 --- a/common/src/main/java/org/onap/so/logger/ErrorCode.java +++ /dev/null @@ -1,40 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - SO - * ================================================================================ - * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * 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. - * ============LICENSE_END========================================================= - */ - -package org.onap.so.logger; - -public enum ErrorCode { - PermissionError(100), - AvailabilityError(200), - DataError(300), - SchemaError(400), - BusinessProcessError(500), - UnknownError(900); - - private int value; - - ErrorCode(int value) { - this.value = value; - } - - public int getValue() { - return this.value; - } -} diff --git a/common/src/main/java/org/onap/so/logger/ScheduledTasksMDCSetup.java b/common/src/main/java/org/onap/so/logger/ScheduledTasksMDCSetup.java deleted file mode 100644 index 41c4b4bfae..0000000000 --- a/common/src/main/java/org/onap/so/logger/ScheduledTasksMDCSetup.java +++ /dev/null @@ -1,75 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - SO - * ================================================================================ - * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * 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. - * ============LICENSE_END========================================================= - */ - -package org.onap.so.logger; - -import java.util.UUID; -import org.onap.logging.filter.base.Constants; -import org.onap.logging.filter.base.MDCSetup; -import org.onap.logging.filter.base.ONAPComponentsList; -import org.onap.logging.ref.slf4j.ONAPLogConstants; -import org.slf4j.MDC; -import org.springframework.stereotype.Component; - -@Component -public class ScheduledTasksMDCSetup extends MDCSetup { - - public void mdcSetup(ONAPComponentsList targetEntity, String serviceName) { - try { - setEntryTimeStamp(); - setServerFQDN(); - MDC.put(ONAPLogConstants.MDCs.RESPONSE_STATUS_CODE, ONAPLogConstants.ResponseStatus.INPROGRESS.toString()); - MDC.put(ONAPLogConstants.MDCs.REQUEST_ID, UUID.randomUUID().toString()); - MDC.put(ONAPLogConstants.MDCs.TARGET_ENTITY, targetEntity.toString()); - MDC.put(ONAPLogConstants.MDCs.TARGET_SERVICE_NAME, Constants.DefaultValues.UNKNOWN); - MDC.put(ONAPLogConstants.MDCs.SERVICE_NAME, serviceName); - setLogTimestamp(); - setElapsedTime(); - MDC.put(ONAPLogConstants.MDCs.PARTNER_NAME, getProperty(Constants.Property.PARTNER_NAME)); - logger.info(ONAPLogConstants.Markers.ENTRY, "Entering"); - } catch (Exception e) { - logger.warn("Error in ScheduledTasksMDCSetup mdcSetup: {}", e.getMessage()); - } - } - - public void errorMDCSetup(ErrorCode errorCode, String errorDescription) { - MDC.put(ONAPLogConstants.MDCs.ERROR_CODE, String.valueOf(errorCode.getValue())); - MDC.put(ONAPLogConstants.MDCs.ERROR_DESC, errorDescription); - } - - public void exitAndClearMDC() { - try { - setStatusCode(); - setLogTimestamp(); - setElapsedTime(); - logger.info(ONAPLogConstants.Markers.EXIT, "Exiting."); - } catch (Exception e) { - logger.warn("Error in ScheduledTasksMDCSetup clear MDC: {}", e.getMessage()); - } - MDC.clear(); - } - - public void setStatusCode() { - String currentStatusCode = MDC.get(ONAPLogConstants.MDCs.RESPONSE_STATUS_CODE); - if (currentStatusCode == null || !currentStatusCode.equals(ONAPLogConstants.ResponseStatus.ERROR.toString())) { - MDC.put(ONAPLogConstants.MDCs.RESPONSE_STATUS_CODE, ONAPLogConstants.ResponseStatus.COMPLETE.toString()); - } - } -} diff --git a/common/src/main/java/org/onap/so/utils/CryptoUtils.java b/common/src/main/java/org/onap/so/utils/CryptoUtils.java index 1c38dfb774..eecee4c83f 100644 --- a/common/src/main/java/org/onap/so/utils/CryptoUtils.java +++ b/common/src/main/java/org/onap/so/utils/CryptoUtils.java @@ -24,7 +24,7 @@ package org.onap.so.utils; import org.onap.so.logger.LoggingAnchor; -import org.onap.so.logger.ErrorCode; +import org.onap.logging.filter.base.ErrorCode; import org.onap.so.logger.MessageEnum; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/common/src/main/java/org/onap/so/utils/ExternalTaskServiceUtils.java b/common/src/main/java/org/onap/so/utils/ExternalTaskServiceUtils.java index 4f13cec8f4..035ad1dc81 100644 --- a/common/src/main/java/org/onap/so/utils/ExternalTaskServiceUtils.java +++ b/common/src/main/java/org/onap/so/utils/ExternalTaskServiceUtils.java @@ -6,6 +6,7 @@ import java.util.concurrent.ConcurrentHashMap; import org.camunda.bpm.client.ExternalTaskClient; import org.camunda.bpm.client.interceptor.ClientRequestInterceptor; import org.camunda.bpm.client.interceptor.auth.BasicAuthProvider; +import org.onap.logging.filter.base.ScheduledLogging; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -53,6 +54,7 @@ public class ExternalTaskServiceUtils { return Integer.parseInt(env.getProperty("workflow.topics.maxClients", "3")); } + @ScheduledLogging @Scheduled(fixedDelay = 30000) public void checkAllClientsActive() { getClients().stream().filter(client -> !client.isActive()).forEach(ExternalTaskClient::start); diff --git a/common/src/main/java/org/onap/so/utils/XmlMarshaller.java b/common/src/main/java/org/onap/so/utils/XmlMarshaller.java index 0ff3ccfa9c..3ae644be6b 100644 --- a/common/src/main/java/org/onap/so/utils/XmlMarshaller.java +++ b/common/src/main/java/org/onap/so/utils/XmlMarshaller.java @@ -34,7 +34,7 @@ import javax.xml.parsers.SAXParserFactory; import javax.xml.transform.sax.SAXSource; import org.onap.so.logger.LoggingAnchor; import org.onap.so.exceptions.MarshallerException; -import org.onap.so.logger.ErrorCode; +import org.onap.logging.filter.base.ErrorCode; import org.onap.so.logger.MessageEnum; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/common/src/test/java/org/onap/so/logger/ScheduledTasksMDCSetupTest.java b/common/src/test/java/org/onap/so/logger/ScheduledTasksMDCSetupTest.java deleted file mode 100644 index f232781871..0000000000 --- a/common/src/test/java/org/onap/so/logger/ScheduledTasksMDCSetupTest.java +++ /dev/null @@ -1,83 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - SO - * ================================================================================ - * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * 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. - * ============LICENSE_END========================================================= - */ - -package org.onap.so.logger; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -import org.junit.After; -import org.junit.Test; -import org.onap.logging.filter.base.Constants; -import org.onap.logging.ref.slf4j.ONAPLogConstants; -import org.onap.so.utils.Components; -import org.onap.so.utils.UUIDChecker; -import org.slf4j.MDC; - -public class ScheduledTasksMDCSetupTest { - private ScheduledTasksMDCSetup tasksMDCSetup = new ScheduledTasksMDCSetup(); - - @After - public void tearDown() { - MDC.clear(); - System.clearProperty("partnerName"); - } - - @Test - public void mdcSetupTest() { - System.setProperty("partnerName", Components.APIH.toString()); - tasksMDCSetup.mdcSetup(Components.APIH, "mdcSetupTest"); - - assertTrue(UUIDChecker.isValidUUID(MDC.get(ONAPLogConstants.MDCs.REQUEST_ID))); - assertEquals(Components.APIH.toString(), MDC.get(ONAPLogConstants.MDCs.TARGET_ENTITY)); - assertEquals(Components.APIH.toString(), MDC.get(ONAPLogConstants.MDCs.PARTNER_NAME)); - assertEquals("mdcSetupTest", MDC.get(ONAPLogConstants.MDCs.SERVICE_NAME)); - assertEquals(Constants.DefaultValues.UNKNOWN, MDC.get(ONAPLogConstants.MDCs.TARGET_SERVICE_NAME)); - assertNotNull(MDC.get(ONAPLogConstants.MDCs.ENTRY_TIMESTAMP)); - assertNotNull(MDC.get(ONAPLogConstants.MDCs.ELAPSED_TIME)); - assertNotNull(MDC.get(ONAPLogConstants.MDCs.LOG_TIMESTAMP)); - assertNotNull(MDC.get(ONAPLogConstants.MDCs.SERVER_FQDN)); - } - - @Test - public void errorMDCSetupTest() { - tasksMDCSetup.errorMDCSetup(ErrorCode.UnknownError, "Error"); - - assertEquals("900", MDC.get(ONAPLogConstants.MDCs.ERROR_CODE)); - assertEquals("Error", MDC.get(ONAPLogConstants.MDCs.ERROR_DESC)); - } - - @Test - public void setStatusCodeTest() { - tasksMDCSetup.setStatusCode(); - - assertEquals(ONAPLogConstants.ResponseStatus.COMPLETE.toString(), - MDC.get(ONAPLogConstants.MDCs.RESPONSE_STATUS_CODE)); - } - - @Test - public void setStatusCodeErrorTest() { - MDC.put(ONAPLogConstants.MDCs.RESPONSE_STATUS_CODE, ONAPLogConstants.ResponseStatus.ERROR.toString()); - tasksMDCSetup.setStatusCode(); - - assertEquals(ONAPLogConstants.ResponseStatus.ERROR.toString(), - MDC.get(ONAPLogConstants.MDCs.RESPONSE_STATUS_CODE)); - } -} |