From aabb9e500132bbcd639bc4b8bda34e8fde3a3676 Mon Sep 17 00:00:00 2001 From: Taka Cho Date: Tue, 3 Aug 2021 13:28:28 -0400 Subject: Use slf4j Marker from common repo using slf4j Marker from common repo Issue-ID: POLICY-3087 Change-Id: Iefbd6fa9ab2dfa6388508cb6ffd6cf1358b45ccc Signed-off-by: Taka Cho --- policy-utils/pom.xml | 5 ++ .../drools/utils/logging/LoggerMarkerFilter.java | 77 ---------------------- .../policy/drools/utils/logging/LoggerUtil.java | 58 +--------------- .../drools/utils/logging/MdcTransactionImpl.java | 5 +- .../onap/policy/drools/utils/PropertyUtilTest.java | 6 +- .../drools/utils/logging/LoggerUtilTest.java | 19 +++--- .../src/test/resources/interpolation.properties | 4 +- 7 files changed, 24 insertions(+), 150 deletions(-) delete mode 100644 policy-utils/src/main/java/org/onap/policy/drools/utils/logging/LoggerMarkerFilter.java (limited to 'policy-utils') diff --git a/policy-utils/pom.xml b/policy-utils/pom.xml index 5bbcded9..fd337002 100644 --- a/policy-utils/pom.xml +++ b/policy-utils/pom.xml @@ -66,6 +66,11 @@ gson ${policy.common.version} + + org.onap.policy.common + utils + ${policy.common.version} + org.projectlombok lombok diff --git a/policy-utils/src/main/java/org/onap/policy/drools/utils/logging/LoggerMarkerFilter.java b/policy-utils/src/main/java/org/onap/policy/drools/utils/logging/LoggerMarkerFilter.java deleted file mode 100644 index 7468b523..00000000 --- a/policy-utils/src/main/java/org/onap/policy/drools/utils/logging/LoggerMarkerFilter.java +++ /dev/null @@ -1,77 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - * ================================================================================ - * Copyright (C) 2017-2018, 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.drools.utils.logging; - -import ch.qos.logback.classic.spi.ILoggingEvent; -import ch.qos.logback.core.filter.AbstractMatcherFilter; -import ch.qos.logback.core.spi.FilterReply; -import lombok.AccessLevel; -import lombok.AllArgsConstructor; -import org.slf4j.Marker; - -/** - * Logger Marker Filters to be used in logback.xml configuration - * to accept/deny metric or transaction (audit) events - */ -@AllArgsConstructor(access = AccessLevel.PROTECTED) -public abstract class LoggerMarkerFilter extends AbstractMatcherFilter { - - protected final 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(LoggerUtil.METRIC_LOG_MARKER); - } - - } - - /** - * Transaction Logger Marker Filter. - */ - public static class TransactionLoggerMarkerFilter extends LoggerMarkerFilter { - - public TransactionLoggerMarkerFilter() { - super(LoggerUtil.TRANSACTION_LOG_MARKER); - } - } -} diff --git a/policy-utils/src/main/java/org/onap/policy/drools/utils/logging/LoggerUtil.java b/policy-utils/src/main/java/org/onap/policy/drools/utils/logging/LoggerUtil.java index eef0fa3d..9c6dad79 100644 --- a/policy-utils/src/main/java/org/onap/policy/drools/utils/logging/LoggerUtil.java +++ b/policy-utils/src/main/java/org/onap/policy/drools/utils/logging/LoggerUtil.java @@ -20,13 +20,10 @@ package org.onap.policy.drools.utils.logging; -import ch.qos.logback.classic.LoggerContext; import lombok.AccessLevel; import lombok.NoArgsConstructor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.slf4j.Marker; -import org.slf4j.MarkerFactory; /** * Loger Utils. @@ -46,58 +43,5 @@ public final class LoggerUtil { */ public static final String LOGBACK_CONFIGURATION_FILE_DEFAULT = "config/logback.xml"; - /** - * Root logger. - */ - public static final String ROOT_LOGGER = "ROOT"; - - /** - * Metric Log Marker Name. - */ - public static final String METRIC_LOG_MARKER_NAME = "metric"; - - /** - * Transaction Log Marker Name. - */ - public static final String TRANSACTION_LOG_MARKER_NAME = "transaction"; - - /** - * Marks a logging record as a metric. - */ - public static final Marker METRIC_LOG_MARKER = MarkerFactory.getMarker(METRIC_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); - - /** - * 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(); - } } + diff --git a/policy-utils/src/main/java/org/onap/policy/drools/utils/logging/MdcTransactionImpl.java b/policy-utils/src/main/java/org/onap/policy/drools/utils/logging/MdcTransactionImpl.java index 583360b3..819e5e32 100644 --- a/policy-utils/src/main/java/org/onap/policy/drools/utils/logging/MdcTransactionImpl.java +++ b/policy-utils/src/main/java/org/onap/policy/drools/utils/logging/MdcTransactionImpl.java @@ -54,6 +54,7 @@ import java.time.Instant; import lombok.Getter; import lombok.ToString; import org.apache.commons.lang3.StringUtils; +import org.onap.policy.common.utils.logging.LoggerUtils; import org.onap.policy.drools.metrics.Metric; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -234,14 +235,14 @@ class MdcTransactionImpl implements MdcTransaction { @Override public MdcTransaction metric() { flush(); - logger.info(LoggerUtil.METRIC_LOG_MARKER, ""); + logger.info(LoggerUtils.METRIC_LOG_MARKER, ""); return this; } @Override public MdcTransaction transaction() { flush(); - logger.info(LoggerUtil.TRANSACTION_LOG_MARKER, ""); + logger.info(LoggerUtils.TRANSACTION_LOG_MARKER, ""); return this; } diff --git a/policy-utils/src/test/java/org/onap/policy/drools/utils/PropertyUtilTest.java b/policy-utils/src/test/java/org/onap/policy/drools/utils/PropertyUtilTest.java index 4b4b9d64..c19adea4 100644 --- a/policy-utils/src/test/java/org/onap/policy/drools/utils/PropertyUtilTest.java +++ b/policy-utils/src/test/java/org/onap/policy/drools/utils/PropertyUtilTest.java @@ -2,7 +2,7 @@ * ============LICENSE_START======================================================= * ONAP * ================================================================================ - * Copyright (C) 2017-2020 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2017-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. @@ -34,8 +34,8 @@ import org.apache.commons.lang3.StringUtils; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; +import org.onap.policy.common.utils.logging.LoggerUtils; import org.onap.policy.common.utils.security.CryptoUtils; -import org.onap.policy.drools.utils.logging.LoggerUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -244,7 +244,7 @@ public class PropertyUtilTest { assertEquals(System.getenv("HOME"), props.getProperty(INTERPOLATION_ENVD)); assertEquals(StringUtils.EMPTY, props.getProperty(INTERPOLATION_ENVD_NONE)); assertEquals(StringUtils.EMPTY, props.getProperty(INTERPOLATION_ENVD_NO_DEFAULT)); - assertEquals(LoggerUtil.ROOT_LOGGER, props.getProperty(INTERPOLATION_CONST)); + assertEquals(LoggerUtils.ROOT_LOGGER, props.getProperty(INTERPOLATION_CONST)); assertEquals(System.getProperty("user.home"), props.getProperty(INTERPOLATION_SYS)); assertEquals(INTERPOLATION_ENVD_DEFAULT_VALUE, props.getProperty(INTERPOLATION_ENVD_DEFAULT)); } diff --git a/policy-utils/src/test/java/org/onap/policy/drools/utils/logging/LoggerUtilTest.java b/policy-utils/src/test/java/org/onap/policy/drools/utils/logging/LoggerUtilTest.java index be1a8a97..195a7add 100644 --- a/policy-utils/src/test/java/org/onap/policy/drools/utils/logging/LoggerUtilTest.java +++ b/policy-utils/src/test/java/org/onap/policy/drools/utils/logging/LoggerUtilTest.java @@ -2,7 +2,7 @@ * ============LICENSE_START======================================================= * policy-utils * ================================================================================ - * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2018, 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. @@ -24,6 +24,7 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import org.junit.Test; +import org.onap.policy.common.utils.logging.LoggerUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -37,20 +38,20 @@ public class LoggerUtilTest { assertTrue(logger.isInfoEnabled()); logger.info("line 1"); - logger.info(LoggerUtil.METRIC_LOG_MARKER, "line 1 Metric"); - logger.info(LoggerUtil.TRANSACTION_LOG_MARKER, "line 1 Transaction"); + logger.info(LoggerUtils.METRIC_LOG_MARKER, "line 1 Metric"); + logger.info(LoggerUtils.TRANSACTION_LOG_MARKER, "line 1 Transaction"); - LoggerUtil.setLevel(LoggerUtil.ROOT_LOGGER, "warn"); + LoggerUtils.setLevel(LoggerUtils.ROOT_LOGGER, "warn"); logger.info("line 2"); - logger.info(LoggerUtil.METRIC_LOG_MARKER, "line 2 Metric"); - logger.info(LoggerUtil.TRANSACTION_LOG_MARKER, "line 2 Transaction"); + logger.info(LoggerUtils.METRIC_LOG_MARKER, "line 2 Metric"); + logger.info(LoggerUtils.TRANSACTION_LOG_MARKER, "line 2 Transaction"); assertFalse(logger.isInfoEnabled()); - LoggerUtil.setLevel(LoggerUtil.ROOT_LOGGER, "debug"); + LoggerUtils.setLevel(LoggerUtils.ROOT_LOGGER, "debug"); logger.debug("line 3"); - logger.debug(LoggerUtil.METRIC_LOG_MARKER, "line 3 Metric"); - logger.debug(LoggerUtil.TRANSACTION_LOG_MARKER, "line 3 Transaction"); + logger.debug(LoggerUtils.METRIC_LOG_MARKER, "line 3 Metric"); + logger.debug(LoggerUtils.TRANSACTION_LOG_MARKER, "line 3 Transaction"); assertTrue(logger.isDebugEnabled()); } diff --git a/policy-utils/src/test/resources/interpolation.properties b/policy-utils/src/test/resources/interpolation.properties index 78ec546b..aeb88a9b 100644 --- a/policy-utils/src/test/resources/interpolation.properties +++ b/policy-utils/src/test/resources/interpolation.properties @@ -2,7 +2,7 @@ # ============LICENSE_START======================================================= # ONAP # ================================================================================ -# Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved. +# Copyright (C) 2019-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. @@ -20,7 +20,7 @@ interpolation.no=no interpolation.env=${env:HOME} -interpolation.const=${const:org.onap.policy.drools.utils.logging.LoggerUtil.ROOT_LOGGER} +interpolation.const=${const:org.onap.policy.common.utils.logging.LoggerUtils.ROOT_LOGGER} interpolation.sys=${sys:user.home} interpolation.envd=${envd:HOME} interpolation.envd.default=${envd:BLAH:default} -- cgit 1.2.3-korg