aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKrzysztof Opasiak <k.opasiak@samsung.com>2019-01-28 20:34:09 +0100
committerKrzysztof Opasiak <k.opasiak@samsung.com>2019-01-30 22:12:53 +0100
commit783c0c056c5f95693d0683e797858df525d27549 (patch)
tree5ec866d3aaf533db88ca38883c6ae17d99f3786f
parent0c24e618042e462b261678858aa1a2ad44e92a96 (diff)
Add helper class to retrive network logger
Instead of defining static string variable inside Topic class let's create helper class for getting specific loggers. Issue-ID: POLICY-1486 Change-Id: Ic1f07466e1ab6abcc00098e617f0e82da19e852d Signed-off-by: Krzysztof Opasiak <k.opasiak@samsung.com>
-rw-r--r--utils/src/main/java/org/onap/policy/common/utils/slf4j/LoggerFactoryWrapper.java39
-rw-r--r--utils/src/test/java/org/onap/policy/common/utils/slf4j/LoggerFactoryWrapperTest.java52
2 files changed, 91 insertions, 0 deletions
diff --git a/utils/src/main/java/org/onap/policy/common/utils/slf4j/LoggerFactoryWrapper.java b/utils/src/main/java/org/onap/policy/common/utils/slf4j/LoggerFactoryWrapper.java
new file mode 100644
index 00000000..8f32b3bb
--- /dev/null
+++ b/utils/src/main/java/org/onap/policy/common/utils/slf4j/LoggerFactoryWrapper.java
@@ -0,0 +1,39 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP Policy Engine - Common Modules
+ * ================================================================================
+ * Copyright (C) 2019 Samsung Electronics. 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.policy.common.utils.slf4j;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Helper class to retrive particular types of loggers without storing the logger name everywhere in ths code.
+ */
+public class LoggerFactoryWrapper {
+
+ /**
+ * Get Network Logger.
+ *
+ * @return logger instance
+ */
+ public static Logger getNetworkLogger() {
+ return LoggerFactory.getLogger("network");
+ }
+}
diff --git a/utils/src/test/java/org/onap/policy/common/utils/slf4j/LoggerFactoryWrapperTest.java b/utils/src/test/java/org/onap/policy/common/utils/slf4j/LoggerFactoryWrapperTest.java
new file mode 100644
index 00000000..dbe2e671
--- /dev/null
+++ b/utils/src/test/java/org/onap/policy/common/utils/slf4j/LoggerFactoryWrapperTest.java
@@ -0,0 +1,52 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP Policy Engine - Common Modules
+ * ================================================================================
+ * Copyright (C) 2019 Samsung Electronics. 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.policy.common.utils.slf4j;
+
+import static org.junit.Assert.assertSame;
+import static org.mockito.Mockito.mock;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import org.powermock.api.mockito.PowerMockito;
+import org.powermock.core.classloader.annotations.PrepareForTest;
+import org.powermock.modules.junit4.PowerMockRunner;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+@RunWith(PowerMockRunner.class)
+@PrepareForTest(LoggerFactory.class)
+public class LoggerFactoryWrapperTest {
+ @Test
+ public void test_get_network_logger() {
+ String netLoggerName = "network";
+ Logger mockLogger = mock(Logger.class);
+
+ PowerMockito.mockStatic(LoggerFactory.class);
+
+ PowerMockito.when(LoggerFactory.getLogger(netLoggerName)).thenReturn(mockLogger);
+ assertSame(LoggerFactoryWrapper.getNetworkLogger(), mockLogger);
+ }
+}