aboutsummaryrefslogtreecommitdiffstats
path: root/common-logging
diff options
context:
space:
mode:
authorTaka Cho <takamune.cho@att.com>2021-08-04 09:30:11 -0400
committerTaka Cho <takamune.cho@att.com>2021-08-04 09:31:56 -0400
commita8590fdd6f7a5360cfaf505418880f6076c0c867 (patch)
tree967dd639fc251217126bc8390905e076b8fbafe5 /common-logging
parent04aa1493214af37c1a50c6d83bd7f32d7708487d (diff)
refactor slf4j logger to common util
avoid EELF lib dependency, was suggested to move to common util instead Issue-ID: POLICY-3087 Change-Id: I79a2f5ba32fd3fc496ef3f72a02f4696b766f9c7 Signed-off-by: Taka Cho <takamune.cho@att.com>
Diffstat (limited to 'common-logging')
-rw-r--r--common-logging/src/main/java/org/onap/policy/common/logging/LoggerMarkerFilter.java97
-rw-r--r--common-logging/src/main/java/org/onap/policy/common/logging/LoggerUtils.java128
-rw-r--r--common-logging/src/test/java/org/onap/policy/common/logging/LoggerUtilsTest.java61
3 files changed, 0 insertions, 286 deletions
diff --git a/common-logging/src/main/java/org/onap/policy/common/logging/LoggerMarkerFilter.java b/common-logging/src/main/java/org/onap/policy/common/logging/LoggerMarkerFilter.java
deleted file mode 100644
index 7fc4ddca..00000000
--- a/common-logging/src/main/java/org/onap/policy/common/logging/LoggerMarkerFilter.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP POLICY
- * ================================================================================
- * Copyright (C) 2021 AT&T Intellectual Property. All right 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.logging;
-
-import ch.qos.logback.classic.spi.ILoggingEvent;
-import ch.qos.logback.core.filter.AbstractMatcherFilter;
-import ch.qos.logback.core.spi.FilterReply;
-import org.slf4j.Marker;
-
-public abstract class LoggerMarkerFilter extends AbstractMatcherFilter<ILoggingEvent> {
-
- protected final Marker marker;
-
- protected LoggerMarkerFilter(Marker marker) {
- this.marker = marker;
- }
-
- @Override
- public FilterReply decide(ILoggingEvent event) {
-
- if (this.marker == null || !isStarted()) {
- return FilterReply.DENY;
- }
-
- if (event == null || event.getMarker() == null) {
- return FilterReply.DENY;
- }
-
- if (event.getMarker().equals(marker)) {
- return FilterReply.ACCEPT;
- } else {
- return FilterReply.DENY;
- }
- }
-
- /**
- * Metric Logger Marker Filter.
- */
- public static class MetricLoggerMarkerFilter extends LoggerMarkerFilter {
-
- public MetricLoggerMarkerFilter() {
- super(LoggerUtils.METRIC_LOG_MARKER);
- }
-
- }
-
- /**
- * Security Logger Marker Filter.
- */
- public static class SecurityLoggerMarkerFilter extends LoggerMarkerFilter {
-
- public SecurityLoggerMarkerFilter() {
- super(LoggerUtils.SECURITY_LOG_MARKER);
- }
- }
-
- /**
- * Audit Logger Marker Filter.
- */
- public static class AuditLoggerMarkerFilter extends LoggerMarkerFilter {
-
- public AuditLoggerMarkerFilter() {
- super(LoggerUtils.AUDIT_LOG_MARKER);
- }
- }
-
- /**
- * Transaction Logger Marker Filter.
- */
- public static class TransactionLoggerMarkerFilter extends LoggerMarkerFilter {
-
- public TransactionLoggerMarkerFilter() {
- super(LoggerUtils.TRANSACTION_LOG_MARKER);
- }
- }
-
-}
diff --git a/common-logging/src/main/java/org/onap/policy/common/logging/LoggerUtils.java b/common-logging/src/main/java/org/onap/policy/common/logging/LoggerUtils.java
deleted file mode 100644
index 298bd531..00000000
--- a/common-logging/src/main/java/org/onap/policy/common/logging/LoggerUtils.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP POLICY
- * ================================================================================
- * Copyright (C) 2021 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.policy.common.logging;
-
-import ch.qos.logback.classic.LoggerContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.slf4j.Marker;
-import org.slf4j.MarkerFactory;
-
-
-public class LoggerUtils {
-
- private static final Logger LOGGER = LoggerFactory.getLogger(LoggerUtils.class);
-
- /**
- * ROOT logger.
- */
- public static final String ROOT_LOGGER = "ROOT";
- /**
- * Metric logger.
- */
- public static final String METRIC_LOG_MARKER_NAME = "metric";
- /**
- * Audit Log Marker Name.
- */
- public static final String AUDIT_LOG_MARKER_NAME = "audit";
- /**
- * Security Log Marker Name.
- */
- public static final String SECURITY_LOG_MARKER_NAME = "security";
- /**
- * Transaction Log Marker Name.
- */
- public static final String TRANSACTION_LOG_MARKER_NAME = "transaction";
- /**
- * Marks a logging record for metric.
- */
- public static final Marker METRIC_LOG_MARKER = MarkerFactory.getMarker(METRIC_LOG_MARKER_NAME);
- /**
- * Marks a logging record for security.
- */
- public static final Marker SECURITY_LOG_MARKER = MarkerFactory.getMarker(SECURITY_LOG_MARKER_NAME);
- /**
- * Marks a logging record for audit.
- */
- public static final Marker AUDIT_LOG_MARKER = MarkerFactory.getMarker(AUDIT_LOG_MARKER_NAME);
- /**
- * Marks a logging record as an end-to-end transaction.
- */
- public static final Marker TRANSACTION_LOG_MARKER = MarkerFactory.getMarker(TRANSACTION_LOG_MARKER_NAME);
-
- /**
- * Logger delegate.
- */
- private final Logger mlogger;
-
- /**
- * Constructor.
- */
- public LoggerUtils(final Logger loggerP) {
- this.mlogger = checkNotNull(loggerP);
- }
-
- /**
- * Set the log level of a logger.
- *
- * @param loggerName logger name
- * @param loggerLevel logger level
- */
- public static String setLevel(String loggerName, String loggerLevel) {
- if (!(LoggerFactory.getILoggerFactory() instanceof LoggerContext)) {
- throw new IllegalStateException("The SLF4J logger factory is not configured for logback");
- }
-
- final LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
- final var logger = context.getLogger(loggerName);
- if (logger == null) {
- throw new IllegalArgumentException("no logger " + loggerName);
- }
-
- LOGGER.warn("setting {} logger to level {}", loggerName, loggerLevel);
-
- // use the current log level if the string provided cannot be converted to a valid Level.
-
- // NOSONAR: this method is currently used by the telemetry api (which should be authenticated).
- // It is no more or no less dangerous than an admin changing the logback level on the fly.
- // This is a controlled admin function that should not cause any risks when the system
- // is configured properly.
- logger.setLevel(ch.qos.logback.classic.Level.toLevel(loggerLevel, logger.getLevel())); // NOSONAR
-
- return logger.getLevel().toString();
- }
-
- /**
- * Dependency-free nullcheck.
- *
- * @param in to be checked
- * @param <T> argument (and return) type
- * @return input arg
- */
- private static <T> T checkNotNull(final T in) {
- if (in == null) {
- throw new NullPointerException();
- }
- return in;
- }
-}
diff --git a/common-logging/src/test/java/org/onap/policy/common/logging/LoggerUtilsTest.java b/common-logging/src/test/java/org/onap/policy/common/logging/LoggerUtilsTest.java
deleted file mode 100644
index 84e63b64..00000000
--- a/common-logging/src/test/java/org/onap/policy/common/logging/LoggerUtilsTest.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*-
-* ============LICENSE_START=======================================================
-* ONAP Policy
-* ================================================================================
-* Copyright (C) 2021 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.policy.common.logging;
-
-import static org.junit.Assert.assertTrue;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.runners.MockitoJUnitRunner;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@RunWith(MockitoJUnitRunner.class)
-public class LoggerUtilsTest {
- protected static final Logger logger = LoggerFactory.getLogger(LoggerUtilsTest.class);
-
- private LoggerUtils util;
-
- @Before
- public void setup() {
- this.util = new LoggerUtils(logger);
- }
-
- @Test
- public void testMarker() {
- assertTrue(logger.isInfoEnabled());
- logger.info("line 1");
- logger.info(LoggerUtils.METRIC_LOG_MARKER, "line 1 Metric");
- logger.info(LoggerUtils.AUDIT_LOG_MARKER, "line 1 Audit");
- logger.info(LoggerUtils.SECURITY_LOG_MARKER, "line 1 Security");
- logger.info(LoggerUtils.TRANSACTION_LOG_MARKER, "line 1 Transaction");
- LoggerUtils.setLevel(LoggerUtils.ROOT_LOGGER, "debug");
- logger.debug("line 2");
- logger.debug(LoggerUtils.METRIC_LOG_MARKER, "line 2 Metric");
- logger.debug(LoggerUtils.AUDIT_LOG_MARKER, "line 2 Audit");
- logger.debug(LoggerUtils.SECURITY_LOG_MARKER, "line 2 Security");
- logger.info(LoggerUtils.TRANSACTION_LOG_MARKER, "line 2 Transaction");
- assertTrue(logger.isDebugEnabled());
- }
-}