aboutsummaryrefslogtreecommitdiffstats
path: root/common-logging/src/main/java/org/onap
diff options
context:
space:
mode:
Diffstat (limited to 'common-logging/src/main/java/org/onap')
-rw-r--r--common-logging/src/main/java/org/onap/policy/common/logging/OnapLoggingContext.java567
-rw-r--r--common-logging/src/main/java/org/onap/policy/common/logging/OnapLoggingUtils.java104
-rw-r--r--common-logging/src/main/java/org/onap/policy/common/logging/eelf/DroolsPdpMdcInfo.java53
-rw-r--r--common-logging/src/main/java/org/onap/policy/common/logging/eelf/ErrorCodeMap.java117
-rw-r--r--common-logging/src/main/java/org/onap/policy/common/logging/eelf/EventData.java80
-rw-r--r--common-logging/src/main/java/org/onap/policy/common/logging/eelf/EventTrackInfo.java85
-rw-r--r--common-logging/src/main/java/org/onap/policy/common/logging/eelf/EventTrackInfoHandler.java96
-rw-r--r--common-logging/src/main/java/org/onap/policy/common/logging/eelf/MdcInfo.java37
-rw-r--r--common-logging/src/main/java/org/onap/policy/common/logging/eelf/MessageCodes.java160
-rw-r--r--common-logging/src/main/java/org/onap/policy/common/logging/eelf/OnapConfigProperties.java87
-rw-r--r--common-logging/src/main/java/org/onap/policy/common/logging/eelf/PolicyLogger.java1423
-rw-r--r--common-logging/src/main/java/org/onap/policy/common/logging/flexlogger/DisplayUtils.java47
-rw-r--r--common-logging/src/main/java/org/onap/policy/common/logging/flexlogger/EelfLogger.java575
-rw-r--r--common-logging/src/main/java/org/onap/policy/common/logging/flexlogger/FlexLogger.java215
-rw-r--r--common-logging/src/main/java/org/onap/policy/common/logging/flexlogger/Logger.java249
-rw-r--r--common-logging/src/main/java/org/onap/policy/common/logging/flexlogger/LoggerType.java28
-rw-r--r--common-logging/src/main/java/org/onap/policy/common/logging/flexlogger/PropertyUtil.java340
-rw-r--r--common-logging/src/main/java/org/onap/policy/common/logging/flexlogger/SystemOutLogger.java548
-rw-r--r--common-logging/src/main/java/org/onap/policy/common/logging/nsa/LoggingContext.java64
-rw-r--r--common-logging/src/main/java/org/onap/policy/common/logging/nsa/LoggingContextFactory.java53
-rw-r--r--common-logging/src/main/java/org/onap/policy/common/logging/nsa/SharedLoggingContext.java37
-rw-r--r--common-logging/src/main/java/org/onap/policy/common/logging/nsa/impl/SharedContext.java52
-rw-r--r--common-logging/src/main/java/org/onap/policy/common/logging/nsa/impl/Slf4jLoggingContext.java63
-rw-r--r--common-logging/src/main/java/org/onap/policy/common/logging/nsa/package-info.java28
24 files changed, 0 insertions, 5108 deletions
diff --git a/common-logging/src/main/java/org/onap/policy/common/logging/OnapLoggingContext.java b/common-logging/src/main/java/org/onap/policy/common/logging/OnapLoggingContext.java
deleted file mode 100644
index e457f5f3..00000000
--- a/common-logging/src/main/java/org/onap/policy/common/logging/OnapLoggingContext.java
+++ /dev/null
@@ -1,567 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP-Logging
- * ================================================================================
- * 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.
- * 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 java.text.SimpleDateFormat;
-import java.time.Duration;
-import java.time.Instant;
-import java.util.Date;
-import org.onap.policy.common.logging.nsa.LoggingContextFactory;
-import org.onap.policy.common.logging.nsa.SharedLoggingContext;
-import org.slf4j.MDC;
-
-/**
- * A facade over the org.onap.policy.common.logging.nsa.SharedLoggingContext
- * interface/implementation that makes it more convenient to use. SharedLoggingContext builds on the
- * SLF4J/log4j Mapped Diagnostic Context (MDC) feature, which provides a hashmap-based context for
- * data items that need to be logged, where the hashmap is kept in ThreadLocal storage. The data
- * items can be referenced in the log4j configuration using the EnhancedPatternLayout appender
- * layout class, and the notation "%X{key}" in the ConversionPattern string, where "key" is one of
- * the keys in the MDC hashmap (which is determined by what hashmap entries the application code
- * creates). Example: log4j.appender.auditAppender.layout=org.apache.log4j.EnhancedPatternLayout
- * log4j.appender.auditAppender.layout.ConversionPattern=%d|%X{requestId}|%X{serviceInstanceId}|...|%m%n
- * where "requestId" and "serviceInstanceId" are entries in the MDC hashmap.
- *
- * <p>The notable functionality the SharedLoggingContext adds over MDC is that it maintains its own
- * copy of the MDC data items in a hashmap (not in ThreadLocal storage), which allows more control
- * of the data. The ONAPLoggingContext constructor that takes another ONAPLoggingContext object as a
- * parameter makes use of this feature. For example if there is a thread pulling requests from a
- * queue for processing, it can keep a base logging context with data that is common to all
- * requests, and for each request, create a new logging context with that base context as a
- * parameter; this will create a new logging context with those initial values and none of the
- * request-specific values from the previous request such as a request ID.
- *
- * <p>The setter methods in this class set corresponding items in the SharedLoggingContext/MDC
- * hashmaps. These items correspond to the fields defined in the "ONAP platform application logging
- * guidelines" document. In addition, there is a pair of convenience functions, transactionStarted()
- * and transactionEnded(), that can be called at the beginning and end of transaction processing to
- * calculate the duration of the transaction and record that value in the "timer" item.
- *
- */
-public class OnapLoggingContext {
-
- private static final String REQUEST_ID = "requestId";
- private static final String SERVICE_INSTANCE_ID = "serviceInstanceId";
- private static final String THREAD_ID = "threadId";
- private static final String SERVER_NAME = "serverName";
- private static final String SERVICE_NAME = "serviceName";
- private static final String PARTNER_NAME = "partnerName";
- private static final String STATUS_CODE = "statusCode";
- private static final String TARGET_ENTITY = "targetEntity";
- private static final String TARGET_SERVICE_NAME = "targetServiceName";
- private static final String INSTANCE_UUID = "instanceUuid";
- private static final String SEVERITY = "severity";
- private static final String SERVER_IP_ADDRESS = "serverIpAddress";
- private static final String SERVER = "server";
- private static final String CLIENT_IP_ADDRESS = "clientIpAddress";
- private static final String CLASSNAME = "classname";
- private static final String TRANSACTION_BEGIN_TIME_STAMP = "TransactionBeginTimestamp";
- private static final String TRANSACTION_END_TIME_STAMP = "TransactionEndTimestamp";
- private static final String TRANSACTION_ELAPSED_TIME = "TransactionElapsedTime";
- private static final String METRIC_BEGIN_TIME_STAMP = "MetricBeginTimestamp";
- private static final String METRIC_END_TIME_STAMP = "MetricEndTimestamp";
- private static final String METRIC_ELAPSED_TIME = "MetricElapsedTime";
- private static final String POLICY = "POLICY";
- private static final String USER = "USER";
- private static final String COMPLETE = "COMPLETE";
- private static final String PE_PROCESS = "PE Process";
- private static final String TIME_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.SSS+00:00";
- private static final String EMPTY_STRING = "";
- private static final int DEFAULT_VALUE = 0;
-
-
- private static LoggingContextFactory.Builder loggingContextBuilder = new LoggingContextFactory.Builder();
-
- protected SharedLoggingContext context = null;
- private Instant transactionStartTime;
- private Instant metricStartTime;
-
- /**
- * Create a new ONAPLoggingContext with no base context.
- */
- public OnapLoggingContext() {
- context = (SharedLoggingContext) loggingContextBuilder.forSharing().build();
- }
-
- /**
- * Create a new ONAPLoggingContext initially populated with the values in the given base
- * context. This can be used for example in a servlet where each incoming request may be
- * processed by a separate thread, but there may be some logging data items that will be
- * unchanging and common to all the threads. That constant data can be populated in a base
- * context, and then each request handler creates new context passing that base context to
- * populate the common data in the new one.
- *
- * @param baseContext onap logging context
- */
- public OnapLoggingContext(OnapLoggingContext baseContext) {
- context = (SharedLoggingContext) loggingContextBuilder.forSharing().build();
- // a logging context could be passed into a thread (e.g. one that is servicing a queue)
- // that already had a logging context established, so the MDC hashmap could contain
- // entries that are no longer appropriate; so clear out the MDC hashmap before
- // transferring the new logging context values.
- // x
- MDC.clear();
- baseContext.context.transferTo(context);
- transactionStartTime = baseContext.transactionStartTime;
- setServiceName(POLICY);
- setPartnerName(USER);
- setStatusCode(COMPLETE);
- setTargetEntity(POLICY);
- setTargetServiceName(PE_PROCESS);
- }
-
- /**
- * Indicate the start of transaction processing. The current system time will be recorded for
- * use by <code>transactionEnded()</code> to calculate the duration of the transaction.
- */
- public void transactionStarted() {
- transactionStartTime = Instant.now();
- setTransactionBeginTimestamp(transactionStartTime);
- }
-
- /**
- * Indicate the end of transaction processing. The difference between the current system time
- * and the time recorded by <code>transactionStarted()</code> will be recorded in the data item
- * with key "TransactionElapsedTime".
- */
- public void transactionEnded() {
- var transactionEndTime = Instant.now();
- setTransactionEndTimestamp(transactionEndTime);
- setTransactionElapsedTime(transactionEndTime);
- }
-
- /**
- * Indicate the start of metric processing. The current system time will be recorded for use by
- * <code>metricEnded()</code> to calculate the duration of the metric.
- */
- public void metricStarted() {
- metricStartTime = Instant.now();
- setMetricBeginTimestamp(metricStartTime);
- }
-
- /**
- * Indicate the end of metric processing. The difference between the current system time and the
- * time recorded by <code>metricStarted()</code> will be recorded in the data item with key
- * "MetricElapsedTime".
- */
- public void metricEnded() {
- var metricEndTime = Instant.now();
- setMetricEndTimestamp(metricEndTime);
- setMetricElapsedTime(metricEndTime);
- }
-
- /**
- * Set the value for the data item with key "requestId".
- *
- * @param id request identifier
- */
- public void setRequestId(String id) {
- context.put(REQUEST_ID, id);
- }
-
- /**
- * Get the value for the data item with key "requestId".
- *
- * @return current value, or empty string if not set
- */
- public String getRequestId() {
- return context.get(REQUEST_ID, EMPTY_STRING);
- }
-
- /**
- * Set the value for the data item with key "serviceInstanceId".
- *
- * @param id service identifier
- */
- public void setServiceInstanceId(String id) {
- context.put(SERVICE_INSTANCE_ID, id);
- }
-
- /**
- * Get the value for the data item with key "serviceInstanceId".
- *
- * @return current value, or empty string if not set
- */
- public String getServiceInstanceId() {
- return context.get(SERVICE_INSTANCE_ID, EMPTY_STRING);
- }
-
- /**
- * Set the value for the data item with key "threadId". An alternative to using this item is to
- * use the %t conversion character in the appender's conversion string.
- *
- * @param id thread identifier
- */
- public void setThreadId(String id) {
- context.put(THREAD_ID, id);
- }
-
- /**
- * Get the value for the data item with key "threadId".
- *
- * @return current value, or empty string if not set
- */
- public String getThreadId() {
- return context.get(THREAD_ID, EMPTY_STRING);
- }
-
- /**
- * Set the value for the data item with key "serverName".
- *
- * @param name server name
- */
- public void setServerName(String name) {
- context.put(SERVER_NAME, name);
- }
-
- /**
- * Get the value for the data item with key "serverName".
- *
- * @return current value, or empty string if not set
- */
- public String getServerName() {
- return context.get(SERVER_NAME, EMPTY_STRING);
- }
-
- /**
- * Set the value for the data item with key "serviceName".
- *
- * @param name service name
- */
- public void setServiceName(String name) {
- context.put(SERVICE_NAME, name);
- }
-
- /**
- * Get the value for the data item with key "serviceName".
- *
- * @return current value, or empty string if not set
- */
- public String getServiceName() {
- return context.get(SERVICE_NAME, EMPTY_STRING);
- }
-
- /**
- * Set the value for the data item with key "partnerName".
- *
- * @param name partner name
- */
- public void setPartnerName(String name) {
- context.put(PARTNER_NAME, name);
- }
-
- /**
- * Get the value for the data item with key "partnerName".
- *
- * @return current value, or empty string if not set
- */
- public String getPartnerName() {
- return context.get(PARTNER_NAME, EMPTY_STRING);
- }
-
- /**
- * Set the value for the data item with key "statusCode".
- *
- * @param name status code
- */
- public void setStatusCode(String name) {
- context.put(STATUS_CODE, name);
- }
-
- /**
- * Get the value for the data item with key "statusCode".
- *
- * @return current value, or empty string if not set
- */
- public String getStatusCode() {
- return context.get(STATUS_CODE, EMPTY_STRING);
- }
-
- /**
- * Set the value for the data item with key "targetEntity".
- *
- * @param name target entity
- */
- public void setTargetEntity(String name) {
- context.put(TARGET_ENTITY, name);
- }
-
- /**
- * Get the value for the data item with key "targetEntity".
- *
- * @return current value, or empty string if not set
- */
- public String getTargetEntity() {
- return context.get(TARGET_ENTITY, EMPTY_STRING);
- }
-
- /**
- * Set the value for the data item with key "targetServiceName".
- *
- * @param name target service name
- */
- public void setTargetServiceName(String name) {
- context.put(TARGET_SERVICE_NAME, name);
- }
-
- /**
- * Get the value for the data item with key "targetServiceName".
- *
- * @return current value, or empty string if not set
- */
- public String getTargetServiceName() {
- return context.get(TARGET_SERVICE_NAME, EMPTY_STRING);
- }
-
- /**
- * Set the value for the data item with key "instanceUuid".
- *
- * @param uuid instance uuid
- */
- public void setInstanceUuid(String uuid) {
- context.put(INSTANCE_UUID, uuid);
- }
-
- /**
- * Get the value for the data item with key "instanceUuid".
- *
- * @return current value, or empty string if not set
- */
- public String getInstanceUuid() {
- return context.get(INSTANCE_UUID, EMPTY_STRING);
- }
-
- /**
- * Set the value for the data item with key "severity".
- *
- * @param severity severity
- */
- public void setSeverity(Long severity) {
- context.put(SEVERITY, severity);
- }
-
- /**
- * Get the value for the data item with key "severity".
- *
- * @return current value, or empty string if not set
- */
- public String getSeverity() {
- return context.get(SEVERITY, EMPTY_STRING);
- }
-
- /**
- * Set the value for the data item with key "serverIp".
- *
- * @param serverIp server ip address
- */
- public void setServerIpAddress(String serverIp) {
- context.put(SERVER_IP_ADDRESS, serverIp);
- }
-
- /**
- * Get the value for the data item with key "serverIp".
- *
- * @return current value, or empty string if not set
- */
- public String getServerIpAddress() {
- return context.get(SERVER_IP_ADDRESS, EMPTY_STRING);
- }
-
- /**
- * Set the value for the data item with key "server".
- *
- * @param server server
- */
- public void setServer(String server) {
- context.put(SERVER, server);
- }
-
- /**
- * Get the value for the data item with key "server".
- *
- * @return current value, or empty string if not set
- */
- public String getServer() {
- return context.get(SERVER, EMPTY_STRING);
- }
-
- /**
- * Set the value for the data item with key "clientIp".
- *
- * @param clientIp client ip address
- */
- public void setClientIpAddress(String clientIp) {
- context.put(CLIENT_IP_ADDRESS, clientIp);
- }
-
- /**
- * Get the value for the data item with key "clientIp".
- *
- * @return current value, or empty string if not set
- */
- public String getClientIpAddress() {
- return context.get(CLIENT_IP_ADDRESS, EMPTY_STRING);
- }
-
- /**
- * Set the value for the data item with key "classname". Use of this item is not recommended
- * (unless it is used to indicate something other than the Java classname) since it would be
- * unwieldy to maintain a correct value across calls to/returns from methods in other classes.
- * Use of the PatternLayout %c conversion character in the conversion string will give a more
- * reliable value.
- *
- * @param classname class name
- */
- public void setClassname(String classname) {
- context.put(CLASSNAME, classname);
- }
-
- /**
- * Get the value for the data item with key "classname".
- *
- * @return current value, or empty string if not set
- */
- public String getClassname() {
- return context.get(CLASSNAME, EMPTY_STRING);
- }
-
- /**
- * Set the value for the data item with key "TransactionBeginTimestamp".
- *
- * @param transactionStartTime transaction start time
- */
- public void setTransactionBeginTimestamp(Instant transactionStartTime) {
- var sdf = new SimpleDateFormat(TIME_FORMAT);
- context.put(TRANSACTION_BEGIN_TIME_STAMP, sdf.format(Date.from(transactionStartTime)));
- }
-
- /**
- * Get the value for the data item with key "TransactionBeginTimestamp".
- *
- * @return current value, or 0 if not set
- */
- public long getTransactionBeginTimestamp() {
- return context.get(TRANSACTION_BEGIN_TIME_STAMP, DEFAULT_VALUE);
- }
-
- /**
- * Set the value for the data item with key "TransactionEndTimestamp".
- *
- * @param transactionEndTime transaction end time
- */
- public void setTransactionEndTimestamp(Instant transactionEndTime) {
- var sdf = new SimpleDateFormat(TIME_FORMAT);
- context.put(TRANSACTION_END_TIME_STAMP, sdf.format(Date.from(transactionEndTime)));
- }
-
- /**
- * Get the value for the data item with key "TransactionEndTimestamp".
- *
- * @return current value, or 0 if not set
- */
- public long getTransactionEndTimestamp() {
- return context.get(TRANSACTION_END_TIME_STAMP, DEFAULT_VALUE);
- }
-
- /**
- * Set the value for the data item with key "TransactionElapsedTime". An alternative to calling
- * this method directly is to call <code>transactionStarted()</code> at the start of transaction
- * processing and <code>transactionEnded()</code> at the end, which will compute the time
- * difference in milliseconds and store the result as the "ns" value.
- *
- * @param transactionEndTime transaction end time
- */
-
- public void setTransactionElapsedTime(Instant transactionEndTime) {
- long ns = Duration.between(transactionStartTime, transactionEndTime).toMillis();
- context.put(TRANSACTION_ELAPSED_TIME, ns);
- }
-
- /**
- * Get the value for the data item with key "TransactionElapsedTime".
- *
- * @return current value, or 0 if not set
- */
- public long getTransactionElapsedTime() {
- return context.get(TRANSACTION_ELAPSED_TIME, DEFAULT_VALUE);
- }
-
- /**
- * Set the value for the data item with key "MetricBeginTimestamp".
- *
- * @param metricStartTime metric start time
- */
- public void setMetricBeginTimestamp(Instant metricStartTime) {
- var sdf = new SimpleDateFormat(TIME_FORMAT);
- context.put(METRIC_BEGIN_TIME_STAMP, sdf.format(Date.from(metricStartTime)));
- }
-
- /**
- * Get the value for the data item with key "MetricBeginTimestamp".
- *
- * @return current value, or 0 if not set
- */
- public long getMetricBeginTimestamp() {
- return context.get(METRIC_BEGIN_TIME_STAMP, DEFAULT_VALUE);
- }
-
- /**
- * Set the value for the data item with key "MetricEndTimestamp".
- *
- * @param metricEndTime metric end time
- */
- public void setMetricEndTimestamp(Instant metricEndTime) {
- var sdf = new SimpleDateFormat(TIME_FORMAT);
- context.put(METRIC_END_TIME_STAMP, sdf.format(Date.from(metricEndTime)));
- }
-
- /**
- * Get the value for the data item with key "MetricEndTimestamp".
- *
- * @return current value, or 0 if not set
- */
- public long getMetricEndTimestamp() {
- return context.get(METRIC_END_TIME_STAMP, DEFAULT_VALUE);
- }
-
- /**
- * Set the value for the data item with key "MetricElapsedTime". An alternative to calling this
- * method directly is to call <code>metricStarted()</code> at the start of metric processing and
- * <code>metricEnded()</code> at the end, which will compute the time difference in milliseconds
- * and store the result as the "ns" value.
- *
- * @param metricEndTime metric end time
- */
-
- public void setMetricElapsedTime(Instant metricEndTime) {
- long ns = Duration.between(metricStartTime, metricEndTime).toMillis();
- context.put(METRIC_ELAPSED_TIME, ns);
- }
-
- /**
- * Get the value for the data item with key "MetricElapsedTime".
- *
- * @return current value, or 0 if not set
- */
- public long getMetricElapsedTime() {
- return context.get(METRIC_ELAPSED_TIME, DEFAULT_VALUE);
- }
-}
diff --git a/common-logging/src/main/java/org/onap/policy/common/logging/OnapLoggingUtils.java b/common-logging/src/main/java/org/onap/policy/common/logging/OnapLoggingUtils.java
deleted file mode 100644
index 91133d1a..00000000
--- a/common-logging/src/main/java/org/onap/policy/common/logging/OnapLoggingUtils.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP-Logging
- * ================================================================================
- * Copyright (C) 2017-2021 AT&T Intellectual Property. All rights reserved.
- * Modifications Copyright (C) 2023 Nordix Foundation.
- * ================================================================================
- * 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 com.google.re2j.Pattern;
-import jakarta.servlet.http.HttpServletRequest;
-import lombok.AccessLevel;
-import lombok.NoArgsConstructor;
-
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class OnapLoggingUtils {
-
- private static final Pattern COMMA_PAT = Pattern.compile(",");
- private static final Pattern CURLS_PAT = Pattern.compile("[{][}]");
-
- /**
- * Get the ONAPLoggingContext for a request.
- *
- * @param request the request
- * @param baseContext the context to supply to the ONAPLoggingContext
- * @return the ONAPLoggingContext
- */
- public static OnapLoggingContext getLoggingContextForRequest(HttpServletRequest request,
- OnapLoggingContext baseContext) {
- var requestContext = new OnapLoggingContext(baseContext);
- if (request.getLocalAddr() != null) { // may be null in junit tests
- requestContext.setServerIpAddress(request.getLocalAddr());
- }
- // get client IP address as leftmost address in X-Forwarded-For header if present,
- // otherwise from remote address in the request
- String forwarded = request.getHeader("X-Forwarded-For");
- if (forwarded != null && forwarded.trim().length() > 0) {
- forwarded = COMMA_PAT.split(forwarded.trim())[0];
- requestContext.setClientIpAddress(forwarded);
- } else if (request.getRemoteAddr() != null) { // may be null in junit tests
- requestContext.setClientIpAddress(request.getRemoteAddr());
- }
- // RequestID
- // This needs to be renamed to ONAP when the other components in ONAP
- // rename to this.
- String requestId = request.getHeader("X-ECOMP-RequestID");
- if (requestId != null && requestId.trim().length() > 0) {
- requestContext.setRequestId(requestId);
- }
- return requestContext;
- }
-
- /**
- * Create message text replace {} place holder with data
- * if last argument is throwable/exception, pass it as argument to logger.
- * @param format message format can contains text and {}
- * @param arguments output arguments
- * @return the formatted message as a String
- */
- public static String formatMessage(String format, Object...arguments) {
- if (arguments.length <= 0 || arguments[0] == null) {
- return format;
- }
- int index;
- var builder = new StringBuilder();
- String[] token = CURLS_PAT.split(format);
- for (index = 0; index < arguments.length; index++) {
- if (index < token.length) {
- builder.append(token[index]);
- builder.append(arguments[index]);
- } else {
- break;
- }
- }
- for (int index2 = index; index2 < token.length; index2++) {
- builder.append(token[index2]);
- }
-
- return builder.toString();
- }
-
- /**
- * Check object is throwable.
- * @param obj to verify
- * @return true if object is throwable or false otherwise
- */
- public static boolean isThrowable(Object obj) {
- return (obj instanceof Throwable);
- }
-}
diff --git a/common-logging/src/main/java/org/onap/policy/common/logging/eelf/DroolsPdpMdcInfo.java b/common-logging/src/main/java/org/onap/policy/common/logging/eelf/DroolsPdpMdcInfo.java
deleted file mode 100644
index 6086a642..00000000
--- a/common-logging/src/main/java/org/onap/policy/common/logging/eelf/DroolsPdpMdcInfo.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * ONAP-Logging
- * ================================================================================
- * 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.policy.common.logging.eelf;
-
-import com.att.eelf.configuration.Configuration;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-
-public class DroolsPdpMdcInfo implements MdcInfo {
-
- private static ConcurrentHashMap<String, String> mdcMap = new ConcurrentHashMap<>();
-
- static {
-
- mdcMap.put(Configuration.MDC_REMOTE_HOST, "");
- mdcMap.put(Configuration.MDC_SERVICE_NAME, "Policy.droolsPdp");
- mdcMap.put(Configuration.MDC_SERVICE_INSTANCE_ID, "Policy.droolsPdp.event");
- mdcMap.put(Configuration.MDC_INSTANCE_UUID, "");
- mdcMap.put(Configuration.MDC_ALERT_SEVERITY, "");
- mdcMap.put(OnapConfigProperties.PARTNER_NAME, "N/A");
- mdcMap.put(OnapConfigProperties.STATUS_CODE, "N/A");
- mdcMap.put(OnapConfigProperties.RESPONSE_CODE, "N/A");
- mdcMap.put(OnapConfigProperties.RESPONSE_DESCRIPTION, "N/A");
- }
-
- /**
- * Get the MMDC Info.
- *
- * @return the instance of ConcurrentHashMap.
- */
- @Override
- public ConcurrentMap<String, String> getMdcInfo() {
- return mdcMap;
- }
-}
diff --git a/common-logging/src/main/java/org/onap/policy/common/logging/eelf/ErrorCodeMap.java b/common-logging/src/main/java/org/onap/policy/common/logging/eelf/ErrorCodeMap.java
deleted file mode 100644
index 0eaa06b0..00000000
--- a/common-logging/src/main/java/org/onap/policy/common/logging/eelf/ErrorCodeMap.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * ONAP-Logging
- * ================================================================================
- * Copyright (C) 2017-2018, 2020-2021 AT&T Intellectual Property. All rights reserved.
- * Modifications Copyright (C) 2024 Nordix Foundation.
- * ================================================================================
- * 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.eelf;
-
-import java.util.EnumMap;
-import lombok.AccessLevel;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-
-/**
- * ErrorCodeMap contains a HashMap of ErrorCodeInfo (error code and error description).
- * Standard error code:
- * 100 – permission errors
- * 200 – availability errors
- * 300 – data errors
- * 400 – schema errors
- * 500 – business process errors
- * 900 – unknown errors
- */
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class ErrorCodeMap {
-
- private static final EnumMap<MessageCodes, ErrorCodeInfo> hm = new EnumMap<>(MessageCodes.class);
-
- private static final String CHECK_ERROR_MESSAGE = " Please check the error message for detail information";
-
- private static final String ERROR_PERMISSIONS = "100";
- private static final String ERROR_PERMISSIONS_DESCRIPTION = "This is a Permissions Error." + CHECK_ERROR_MESSAGE;
-
- private static final String ERROR_SCHEMA_INVALID = "400";
- private static final String ERROR_SCHEMA_INVALID_DESCRIPTION = "This is an Invalid Schema Error."
- + CHECK_ERROR_MESSAGE;
-
-
- private static final String UPDATE_ERROR = "300";
- private static final String UPDATE_ERROR_DESCRIPTION = "This is an updating error." + CHECK_ERROR_MESSAGE;
-
- private static final String EXCEPTION_ERROR_CODE = "500";
- private static final String EXCEPTION_ERROR_DESCRIPTION = "This is an exception error message during the process."
- + CHECK_ERROR_MESSAGE;
-
- private static final String MISS_PROPERTY_ERROR = "300";
- private static final String MISS_PROPERTY_ERROR_DESCRIPTION = "This is an error of missing properties."
- + CHECK_ERROR_MESSAGE;
-
- private static final String GENERAL_ERROR_CODE = "500";
- private static final String GENERAL_ERROR_DESCRIPTION = "This is a general error message during the process."
- + CHECK_ERROR_MESSAGE;
-
- private static final String ERROR_SYSTEM_ERROR = "200";
- private static final String ERROR_SYSTEM_ERROR_DESCRIPTION = "This is a System Error." + CHECK_ERROR_MESSAGE;
-
- private static final String ERROR_DATA_ISSUE = "300";
- private static final String ERROR_DATA_ISSUE_DESCRIPTION = "This is a Data Issue Error." + CHECK_ERROR_MESSAGE;
-
- private static final String ERROR_PROCESS_FLOW = "500";
- private static final String ERROR_PROCESS_FLOW_DESCRIPTION = "This is a Process Flow Error." + CHECK_ERROR_MESSAGE;
-
- private static final String ERROR_UNKNOWN = "900";
- private static final String ERROR_UNKNOWN_DESCRIPTION = "This is an Unknown Error." + CHECK_ERROR_MESSAGE;
-
- private static final String ERROR_AUDIT = "300";
- private static final String ERROR_AUDIT_DESCRIPTION = "This is an audit Error." + CHECK_ERROR_MESSAGE;
-
- static {
- hm.put(MessageCodes.EXCEPTION_ERROR, new ErrorCodeInfo(EXCEPTION_ERROR_CODE, EXCEPTION_ERROR_DESCRIPTION));
- hm.put(MessageCodes.GENERAL_ERROR, new ErrorCodeInfo(GENERAL_ERROR_CODE, GENERAL_ERROR_DESCRIPTION));
- hm.put(MessageCodes.MISS_PROPERTY_ERROR,
- new ErrorCodeInfo(MISS_PROPERTY_ERROR, MISS_PROPERTY_ERROR_DESCRIPTION));
- hm.put(MessageCodes.UPDATE_ERROR, new ErrorCodeInfo(UPDATE_ERROR, UPDATE_ERROR_DESCRIPTION));
- hm.put(MessageCodes.ERROR_SYSTEM_ERROR, new ErrorCodeInfo(ERROR_SYSTEM_ERROR, ERROR_SYSTEM_ERROR_DESCRIPTION));
- hm.put(MessageCodes.ERROR_PERMISSIONS, new ErrorCodeInfo(ERROR_PERMISSIONS, ERROR_PERMISSIONS_DESCRIPTION));
- hm.put(MessageCodes.ERROR_DATA_ISSUE, new ErrorCodeInfo(ERROR_DATA_ISSUE, ERROR_DATA_ISSUE_DESCRIPTION));
- hm.put(MessageCodes.ERROR_PROCESS_FLOW, new ErrorCodeInfo(ERROR_PROCESS_FLOW, ERROR_PROCESS_FLOW_DESCRIPTION));
- hm.put(MessageCodes.ERROR_SCHEMA_INVALID,
- new ErrorCodeInfo(ERROR_SCHEMA_INVALID, ERROR_SCHEMA_INVALID_DESCRIPTION));
- hm.put(MessageCodes.ERROR_UNKNOWN, new ErrorCodeInfo(ERROR_UNKNOWN, ERROR_UNKNOWN_DESCRIPTION));
- hm.put(MessageCodes.ERROR_AUDIT, new ErrorCodeInfo(ERROR_AUDIT, ERROR_AUDIT_DESCRIPTION));
- }
-
- public static ErrorCodeInfo getErrorCodeInfo(MessageCodes messageCode) {
- return hm.get(messageCode);
- }
-
- @Getter
- static class ErrorCodeInfo {
-
- private final String errorCode;
- private final String errorDesc;
-
- public ErrorCodeInfo(String errorCode, String errorDesc) {
- this.errorCode = errorCode;
- this.errorDesc = errorDesc;
- }
-
- }
-
-}
diff --git a/common-logging/src/main/java/org/onap/policy/common/logging/eelf/EventData.java b/common-logging/src/main/java/org/onap/policy/common/logging/eelf/EventData.java
deleted file mode 100644
index 87a96a19..00000000
--- a/common-logging/src/main/java/org/onap/policy/common/logging/eelf/EventData.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP-Logging
- * ================================================================================
- * Copyright (C) 2017-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.
- * 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.eelf;
-
-import java.time.Instant;
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-/**
- * EventData can be used for logging a rule event.
- */
-@Getter
-@Setter
-@NoArgsConstructor
-@AllArgsConstructor
-public class EventData {
-
- private String requestId = null;
- private Instant startTime = null;
- private Instant endTime = null;
-
- @Override
- public String toString() {
- return requestId + " Starting Time : " + this.startTime + " Ending Time : " + this.endTime;
- }
-
- @Override
- public int hashCode() {
- final var prime = 31;
- var result = 1;
- result = prime * result + ((requestId == null) ? 0 : requestId.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (obj instanceof String) {
- String otherRequestId = (String) obj;
- return requestId != null && requestId.equals(otherRequestId);
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- EventData other = (EventData) obj;
- if (requestId == null) {
- if (other.requestId != null) {
- return false;
- }
- } else if (!requestId.equals(other.requestId)) {
- return false;
- }
- return true;
- }
-}
diff --git a/common-logging/src/main/java/org/onap/policy/common/logging/eelf/EventTrackInfo.java b/common-logging/src/main/java/org/onap/policy/common/logging/eelf/EventTrackInfo.java
deleted file mode 100644
index f6f38d0d..00000000
--- a/common-logging/src/main/java/org/onap/policy/common/logging/eelf/EventTrackInfo.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * ONAP-Logging
- * ================================================================================
- * Copyright (C) 2017-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.
- * 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.eelf;
-
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-import lombok.Getter;
-
-/**
- * EventTrackInfo contains a ConcurrentHashMap of EventData.
- */
-public class EventTrackInfo {
-
- @Getter
- private final ConcurrentMap<String, EventData> eventInfo;
-
- /**
- * Construct an instance.
- */
- public EventTrackInfo() {
- /*
- * An initial capacity of 16 ensures the number of elements before resizing happens Load
- * factor of 0,9 ensures a dense packaging inside ConcurrentHashMap which will optimize
- * memory use Concurrency Level set to 1 will ensure that only one shard is created and
- * maintained
- */
- eventInfo = new ConcurrentHashMap<>(16, 0.9f, 1);
- }
-
- /**
- * Returns an instance of EventData associated to this requestID.
- *
- * @param requestId request id
- * @return EventData
- */
- public EventData getEventDataByRequestId(String requestId) {
- return eventInfo.get(requestId);
- }
-
- /**
- * Stores an EventData object in a ConcurrentHashMap using its requestID as key.
- *
- * @param event event data
- */
- public void storeEventData(EventData event) {
-
- if (event != null) {
- String id = event.getRequestId();
- if (id == null || id.isEmpty()) {
- return;
- }
- // in case override the start time, check the original event was already stored or not
- eventInfo.putIfAbsent(id, event);
- }
- }
-
- /**
- * Removes an EventData object from a ConcurrentHashMap using the eventId as key.
- *
- * @param eventId event id
- */
- public void remove(String eventId) {
- if (eventInfo != null) {
- eventInfo.remove(eventId);
- }
- }
-}
diff --git a/common-logging/src/main/java/org/onap/policy/common/logging/eelf/EventTrackInfoHandler.java b/common-logging/src/main/java/org/onap/policy/common/logging/eelf/EventTrackInfoHandler.java
deleted file mode 100644
index f5203683..00000000
--- a/common-logging/src/main/java/org/onap/policy/common/logging/eelf/EventTrackInfoHandler.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * ONAP-Logging
- * ================================================================================
- * 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.
- * 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.eelf;
-
-import java.time.Duration;
-import java.time.Instant;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.TimerTask;
-import java.util.concurrent.ConcurrentMap;
-
-/**
- * EventTrackInfoHandler is the handler of clean up all expired event objects.
- */
-public class EventTrackInfoHandler extends TimerTask {
-
- String className = this.getClass().getSimpleName();
-
- @Override
- public void run() {
-
- PolicyLogger.info(className + " Release expired event records start...");
-
- cleanUp();
-
- PolicyLogger.info(className + " Release expired event records done");
- }
-
- /**
- * Removes all expired event objects from the ConcurrentHashMap of EventData.
- */
- private void cleanUp() {
-
- var eventTrackInfo = PolicyLogger.getEventTracker();
- if (eventTrackInfo == null) {
- return;
- }
- ConcurrentMap<String, EventData> eventInfo = eventTrackInfo.getEventInfo();
- if (eventInfo == null || eventInfo.isEmpty()) {
- return;
- }
-
- Instant startTime;
- long ns;
-
- ArrayList<String> expiredEvents = null;
-
- for (Map.Entry<String, EventData> entry : eventInfo.entrySet()) {
- EventData event = entry.getValue();
- startTime = event.getStartTime();
- ns = Duration.between(startTime, Instant.now()).getSeconds();
-
- PolicyLogger.info(className + " duration time : " + ns);
-
- PolicyLogger.info(className + " PolicyLogger.EXPIRED_TIME : " + PolicyLogger.expiredTime);
-
- // if longer than EXPIRED_TIME, remove the object
-
- if (ns > PolicyLogger.expiredTime) {
- if (expiredEvents == null) {
- expiredEvents = new ArrayList<>();
- }
- expiredEvents.add(entry.getKey());
-
- PolicyLogger.info(className + " add expired event request ID: " + event.getRequestId());
- }
- }
-
- synchronized (eventInfo) {
- if (expiredEvents != null) {
- for (String expiredKey : expiredEvents) {
- eventInfo.remove(expiredKey);
- PolicyLogger.info(className + " removed expired event request ID: " + expiredKey);
- }
- }
- }
- }
-}
diff --git a/common-logging/src/main/java/org/onap/policy/common/logging/eelf/MdcInfo.java b/common-logging/src/main/java/org/onap/policy/common/logging/eelf/MdcInfo.java
deleted file mode 100644
index 59b8e8c3..00000000
--- a/common-logging/src/main/java/org/onap/policy/common/logging/eelf/MdcInfo.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * ONAP-Logging
- * ================================================================================
- * 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.policy.common.logging.eelf;
-
-import java.util.concurrent.ConcurrentMap;
-
-/**
- * Interface needs to be implemented by DroolsPDPMDCInfo.
- */
-@FunctionalInterface
-public interface MdcInfo {
-
- /**
- * Returns MDC info.
- *
- * @return MDC info
- */
- ConcurrentMap<String, String> getMdcInfo();
-}
diff --git a/common-logging/src/main/java/org/onap/policy/common/logging/eelf/MessageCodes.java b/common-logging/src/main/java/org/onap/policy/common/logging/eelf/MessageCodes.java
deleted file mode 100644
index 0535b9d7..00000000
--- a/common-logging/src/main/java/org/onap/policy/common/logging/eelf/MessageCodes.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP-Logging
- * ================================================================================
- * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
- * Modifications Copyright (C) 2024 Nordix Foundation.
- * ================================================================================
- * 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.eelf;
-
-import com.att.eelf.i18n.EELFResolvableResourceEnum;
-import com.att.eelf.i18n.EELFResourceManager;
-
-/**
- * MessageCodes contains all the messagge codes for EELF logging messages.
- */
-public enum MessageCodes implements EELFResolvableResourceEnum {
- // Below is a list of Error Messages taken from com.att.research.xacml.api XACMLErrorConstants
- // found under:
- // policy-engine\XACML\src\main\java\com\att\research\xacml\api\XACMLErrorConstants.java
-
- ERROR_PERMISSIONS,
-
- ERROR_SYSTEM_ERROR,
-
- ERROR_DATA_ISSUE,
-
- ERROR_SCHEMA_INVALID,
-
- ERROR_PROCESS_FLOW,
-
- ERROR_UNKNOWN,
-
- ERROR_AUDIT,
-
- // Above is a list of Error Messages taken from com.att.research.xacml.api XACMLErrorConstants
- // found under:
- // policy-engine\XACML\src\main\java\com\att\research\xacml\api\XACMLErrorConstants.java
-
- // ----------------------5000-5099 Business/Flow Processing Related --------------------/
-
- BAD_TYPE_WARNING,
-
- GENERAL_INFO,
-
- GENERAL_WARNING,
-
- MISS_PROPERTY_ERROR,
-
- EXCEPTION_ERROR,
-
- MISS_PROPERTY_INFO,
-
- RULE_AUDIT_EXEC_INFO,
-
- RULE_AUDIT_BEGIN_INFO,
-
- RULE_AUDIT_END_INFO,
-
- RULE_AUDIT_START_END_INFO,
-
- RULE_METRICS_INFO,
-
- UPDATE_ERROR,
-
- GENERAL_ERROR,
-
- // ----------------------New enums should be added above this line
- // ------------------------------------------------------------------/
-
- // --------------------- The enums below are old code. They should not be used since 1607
- // release and eventually will be removed -----/
- /**
- * Application message which requires no arguments.
- */
- MESSAGE_SAMPLE_NOARGS,
-
- /**
- * Application message which requires one argument {0}.
- */
- MESSAGE_SAMPLE_ONEARGUMENT,
-
- /**
- * Audit message which requires one argument {0}.
- */
- AUDIT_MESSAGE_ONEARGUMENT,
-
- /**
- * Error message which requires one argument {0}.
- */
- ERROR_MESSAGE_ONEARGUMENT,
-
- /**
- * Metrics message which requires one argument {0}.
- */
- METRICS_MESSAGE_ONEARGUMENT,
-
- /**
- * Debug message which requires one argument {0}.
- */
- DEBUG_MESSAGE_ONEARGUMENT,
-
- /**
- * Application message which requires two argument {0} and another argument {1}.
- */
- MESSAGE_SAMPLE_TWOARGUMENTS,
-
- /**
- * Sample error exception.
- */
- MESSAGE_SAMPLE_EXCEPTION,
-
- /**
- * Sample warning message.
- */
- MESSAGE_WARNING_SAMPLE,
-
- /**
- * Sample exception in method {0}.
- */
- MESSAGE_SAMPLE_EXCEPTION_ONEARGUMENT,
-
- /**
- * Sample trace message.
- */
- MESSAGE_TRACE_SAMPLE,
-
- /**
- * Sample error message.
- */
- MESSAGE_ERROR_SAMPLE;
-
-
- /*
- * Static initializer to ensure the resource bundles for this class are loaded... Here this
- * application loads messages from three bundles.
- */
- static {
- EELFResourceManager.loadMessageBundle("org/onap/policy/common/logging/eelf/Resources");
- String id = EELFResourceManager.getIdentifier(RULE_AUDIT_EXEC_INFO);
- String value = EELFResourceManager.getMessage(RULE_AUDIT_EXEC_INFO);
-
- PolicyLogger.info("*********************** Rule audit id: " + id);
- PolicyLogger.info("*********************** Rule audit value: " + value);
-
- }
-}
diff --git a/common-logging/src/main/java/org/onap/policy/common/logging/eelf/OnapConfigProperties.java b/common-logging/src/main/java/org/onap/policy/common/logging/eelf/OnapConfigProperties.java
deleted file mode 100644
index cfb14643..00000000
--- a/common-logging/src/main/java/org/onap/policy/common/logging/eelf/OnapConfigProperties.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP-Logging
- * ================================================================================
- * Copyright (C) 2017-2018, 2020-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.eelf;
-
-import lombok.AccessLevel;
-import lombok.NoArgsConstructor;
-
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class OnapConfigProperties {
-
- /**
- * The Date-time of the start of a transaction.
- */
- public static final String BEGIN_TIME_STAMP = "BeginTimestamp";
-
- /**
- * The Date-time of the end of transaction.
- */
- public static final String END_TIME_STAMP = "EndTimestamp";
-
- /**
- * Externally advertised API invoked by clients of this component.
- */
- public static final String SERVICE_NAME = "ServiceName";
-
- /**
- * Client or user invoking the API.
- */
- public static final String PARTNER_NAME = "PartnerName";
-
- public static final String TARGET_ENTITY = "TargetEntity";
-
- public static final String TARGET_SERVICE_NAME = "TargetServiceName";
-
- /**
- * High level success or failure (COMPLETE or ERROR).
- */
- public static final String STATUS_CODE = "StatusCode";
-
- /**
- * Application specific response code.
- */
- public static final String RESPONSE_CODE = "ResponseCode";
-
- /**
- * Human-readable description of the application specific response code.
- */
- public static final String RESPONSE_DESCRIPTION = "ResponseDescription";
-
- /**
- * Externally advertised API invoked by clients of this component.
- */
- public static final String ELAPSED_TIME = "ElapsedTime";
-
- /**
- * High level failure (ERROR).
- */
- public static final String ERROR_CATEGORY = "ErrorCategory";
-
- public static final String ERROR_CODE = "ErrorCode";
-
- public static final String ERROR_DESCRIPTION = "ErrorDescription";
-
- public static final String CLASS_NAME = "ClassName";
-
- public static final String SERVER_NAME = "ServerName";
-
- public static final String INVOCATION_ID = "InvocationID";
-}
diff --git a/common-logging/src/main/java/org/onap/policy/common/logging/eelf/PolicyLogger.java b/common-logging/src/main/java/org/onap/policy/common/logging/eelf/PolicyLogger.java
deleted file mode 100644
index 662ca764..00000000
--- a/common-logging/src/main/java/org/onap/policy/common/logging/eelf/PolicyLogger.java
+++ /dev/null
@@ -1,1423 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * ONAP-Logging
- * ================================================================================
- * 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.
- * 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.eelf;
-
-import static com.att.eelf.configuration.Configuration.MDC_ALERT_SEVERITY;
-import static com.att.eelf.configuration.Configuration.MDC_INSTANCE_UUID;
-import static com.att.eelf.configuration.Configuration.MDC_KEY_REQUEST_ID;
-import static com.att.eelf.configuration.Configuration.MDC_REMOTE_HOST;
-import static com.att.eelf.configuration.Configuration.MDC_SERVER_FQDN;
-import static com.att.eelf.configuration.Configuration.MDC_SERVER_IP_ADDRESS;
-import static com.att.eelf.configuration.Configuration.MDC_SERVICE_INSTANCE_ID;
-import static com.att.eelf.configuration.Configuration.MDC_SERVICE_NAME;
-import static org.onap.policy.common.logging.eelf.OnapConfigProperties.BEGIN_TIME_STAMP;
-import static org.onap.policy.common.logging.eelf.OnapConfigProperties.ELAPSED_TIME;
-import static org.onap.policy.common.logging.eelf.OnapConfigProperties.END_TIME_STAMP;
-import static org.onap.policy.common.logging.eelf.OnapConfigProperties.ERROR_CATEGORY;
-import static org.onap.policy.common.logging.eelf.OnapConfigProperties.ERROR_CODE;
-import static org.onap.policy.common.logging.eelf.OnapConfigProperties.ERROR_DESCRIPTION;
-import static org.onap.policy.common.logging.eelf.OnapConfigProperties.INVOCATION_ID;
-import static org.onap.policy.common.logging.eelf.OnapConfigProperties.PARTNER_NAME;
-import static org.onap.policy.common.logging.eelf.OnapConfigProperties.RESPONSE_CODE;
-import static org.onap.policy.common.logging.eelf.OnapConfigProperties.RESPONSE_DESCRIPTION;
-import static org.onap.policy.common.logging.eelf.OnapConfigProperties.SERVER_NAME;
-import static org.onap.policy.common.logging.eelf.OnapConfigProperties.STATUS_CODE;
-import static org.onap.policy.common.logging.eelf.OnapConfigProperties.TARGET_ENTITY;
-import static org.onap.policy.common.logging.eelf.OnapConfigProperties.TARGET_SERVICE_NAME;
-import static org.onap.policy.common.logging.flexlogger.DisplayUtils.displayErrorMessage;
-
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFLogger.Level;
-import com.att.eelf.configuration.EELFManager;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.text.SimpleDateFormat;
-import java.time.Duration;
-import java.time.Instant;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.Properties;
-import java.util.Timer;
-import java.util.UUID;
-import java.util.concurrent.ConcurrentMap;
-import java.util.function.Consumer;
-import lombok.AccessLevel;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-import org.apache.commons.lang3.StringUtils;
-import org.onap.policy.common.logging.OnapLoggingUtils;
-import org.onap.policy.common.logging.flexlogger.LoggerType;
-import org.slf4j.MDC;
-
-/**
- * PolicyLogger contains all the static methods for EELF logging.
- */
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
-public class PolicyLogger {
-
- private static EELFLogger errorLogger = EELFManager.getErrorLogger();
-
- private static EELFLogger metricsLogger = EELFManager.getMetricsLogger();
-
- private static EELFLogger auditLogger = EELFManager.getAuditLogger();
-
- private static EELFLogger debugLogger = EELFManager.getDebugLogger();
-
- private static final String POLICY_LOGGER = "PolicyLogger";
-
- private static EventTrackInfo eventTracker = new EventTrackInfo();
-
- private static String hostName = null;
- private static String hostAddress = null;
- private static String component = null;
-
- private static boolean isEventTrackerRunning = false;
- private static Timer timer = null;
-
- // Default:Timer initial delay and the delay between in milliseconds before task is to be
- // execute
- private static int timerDelayTime = 1000;
-
- // Default:Timer scheduleAtFixedRate period - time in milliseconds between successive task
- // executions
- private static int checkInterval = 30 * 1000;
-
- // Default:longest time an event info can be stored in the concurrentHashMap for logging - in
- // seconds
- static int expiredTime = 60 * 60 * 1000 * 24; // one day
-
- // Default:the size of the concurrentHashMap which stores the event starting time - when its
- // size reaches this limit, the Timer get executed
- private static int concurrentHashMapLimit = 5000;
-
- // Default:the size of the concurrentHashMap which stores the event starting time - when its
- // size drops to this point, stop the Timer
- private static int stopCheckPoint = 2500;
-
- @Getter
- @Setter
- private static boolean overrideLogbackLevel = false;
-
- private static Level debugLevel = Level.INFO;
- private static Level auditLevel = Level.INFO;
- private static Level metricsLevel = Level.INFO;
- private static Level errorLevel = Level.ERROR;
- private static String classNameProp = "ClassName";
-
- private static final String DATE_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.SSS+00:00";
- private static final String COMPLETE_STATUS = "COMPLETE";
- private static final String ERROR_CATEGORY_VALUE = "ERROR";
-
- static {
- if (hostName == null || hostAddress == null) {
- try {
- hostName = InetAddress.getLocalHost().getHostName();
- hostAddress = InetAddress.getLocalHost().getHostAddress();
- } catch (UnknownHostException e) {
- PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, POLICY_LOGGER, "UnknownHostException");
- }
- }
- }
-
- public static synchronized Level getDebugLevel() {
- return debugLevel;
- }
-
- public static synchronized void setDebugLevel(Level level) {
- debugLevel = level;
- }
-
- /**
- * Sets Debug Level.
- */
- public static synchronized void setDebugLevel(String newDebugLevel) {
-
- if (overrideLogbackLevel) {
- PolicyLogger.debugLevel = Level.valueOf(newDebugLevel);
- debugLogger.setLevel(debugLevel);
- }
-
- }
-
- public static synchronized Level getAuditLevel() {
- return auditLevel;
- }
-
- public static synchronized void setAuditLevel(Level level) {
- auditLevel = level;
- }
-
- /**
- * Sets Audit OFF or ON.
- */
- public static synchronized void setAuditLevel(String newAuditLevel) {
-
- if (overrideLogbackLevel) {
- if ("OFF".equalsIgnoreCase(newAuditLevel)) {
- PolicyLogger.auditLevel = Level.OFF;
- auditLogger.setLevel(auditLevel);
- } else {
- // --- set default value
- auditLogger.setLevel(Level.INFO);
- PolicyLogger.auditLevel = Level.INFO;
- }
- }
- }
-
- public static synchronized Level getMetricsLevel() {
- return metricsLevel;
- }
-
- public static synchronized void setMetricsLevel(Level level) {
- metricsLevel = level;
- }
-
- /**
- * Sets Metrics OFF or ON.
- */
- public static synchronized void setMetricsLevel(String newMetricsLevel) {
-
- if (overrideLogbackLevel) {
- if ("OFF".equalsIgnoreCase(newMetricsLevel)) {
- PolicyLogger.metricsLevel = Level.OFF;
- metricsLogger.setLevel(metricsLevel);
- } else {
- // --- set default value
- metricsLogger.setLevel(Level.INFO);
- PolicyLogger.metricsLevel = Level.INFO;
- }
- }
-
- }
-
- public static synchronized Level getErrorLevel() {
- return errorLevel;
- }
-
- public static synchronized void setErrorLevel(Level level) {
- errorLevel = level;
- }
-
- /**
- * Sets Error OFF or ON.
- */
- public static synchronized void setErrorLevel(String newErrorLevel) {
-
- if (overrideLogbackLevel) {
- if ("OFF".equalsIgnoreCase(newErrorLevel)) {
- PolicyLogger.errorLevel = Level.OFF;
- errorLogger.setLevel(errorLevel);
- } else {
- // --- set default value
- errorLogger.setLevel(Level.ERROR);
- PolicyLogger.errorLevel = Level.ERROR;
- }
- }
- }
-
- public static synchronized String getClassname() {
- return classNameProp;
- }
-
- public static synchronized void setClassname(String name) {
- classNameProp = name;
- }
-
- /**
- * Populates MDC info.
- *
- * @param transId the transaction ID
- * @return String
- */
- public static String postMdcInfoForEvent(String transId) {
- MDC.clear();
-
- String transactionId = transId;
-
- if (transactionId == null || transactionId.isEmpty()) {
- transactionId = UUID.randomUUID().toString();
- }
-
- if ("DROOLS".equalsIgnoreCase(component)) {
- MDC.put(TARGET_ENTITY, "POLICY");
- MDC.put(TARGET_SERVICE_NAME, "drools evaluate rule");
- return postMdcInfoForEvent(transactionId, new DroolsPdpMdcInfo());
- } else {
- // For Xacml
- MDC.put(TARGET_ENTITY, "POLICY");
- MDC.put(TARGET_SERVICE_NAME, "PE Process");
- }
-
- MDC.put(MDC_REMOTE_HOST, "");
- MDC.put(MDC_KEY_REQUEST_ID, transactionId);
- MDC.put(MDC_SERVICE_NAME, "Policy.xacmlPdp");
- MDC.put(MDC_SERVICE_INSTANCE_ID, "Policy.xacmlPdp.event");
-
- setMdcHostInfo();
- seTimeStamps();
-
- return transactionId;
- }
-
- /**
- * Populate MDC Info using the passed in mdcInfo.
- *
- * @param transId the transaction ID
- * @param mdcInfo the MDC info
- * @return String
- */
- private static String postMdcInfoForEvent(String transId, MdcInfo mdcInfo) {
-
- MDC.put(MDC_KEY_REQUEST_ID, transId);
- if (mdcInfo != null && mdcInfo.getMdcInfo() != null && !mdcInfo.getMdcInfo().isEmpty()) {
-
- ConcurrentMap<String, String> mdcMap = mdcInfo.getMdcInfo();
- Iterator<String> keyIterator = mdcMap.keySet().iterator();
- String key;
-
- while (keyIterator.hasNext()) {
- key = keyIterator.next();
- MDC.put(key, mdcMap.get(key));
- }
- }
-
- setMdcHostInfo();
-
- var startTime = Instant.now();
- var endTime = Instant.now();
-
- seTimeStamps(startTime, endTime);
-
- return transId;
- }
-
- /**
- * Sets transaction Id to MDC.
- *
- * @param eventObject event object
- */
- public static void postMdcInfoForEvent(Object eventObject) {
- postMdcInfoForEvent("" + eventObject);
- }
-
- private static void setMdcHostInfo() {
- try {
- MDC.put(MDC_SERVER_FQDN, hostName);
- MDC.put(MDC_SERVER_IP_ADDRESS, hostAddress);
- } catch (Exception e) {
- errorLogger.error(MessageCodes.EXCEPTION_ERROR, e, POLICY_LOGGER);
- }
- }
-
- /**
- * Set Timestamps for start, end and duration of logging a transaction.
- */
- private static void seTimeStamps() {
- MDC.put(MDC_INSTANCE_UUID, "");
- MDC.put(MDC_ALERT_SEVERITY, "");
-
- var startTime = Instant.now();
- var endTime = Instant.now();
-
- seTimeStamps(startTime, endTime);
-
- MDC.put(PARTNER_NAME, "N/A");
-
- MDC.put(STATUS_CODE, COMPLETE_STATUS);
- MDC.put(RESPONSE_CODE, "N/A");
- MDC.put(RESPONSE_DESCRIPTION, "N/A");
-
- }
-
- private static void seTimeStamps(Instant startTime, Instant endTime) {
- var sdf = new SimpleDateFormat(DATE_FORMAT);
-
- String formatedTime = sdf.format(Date.from(startTime));
- MDC.put(BEGIN_TIME_STAMP, formatedTime);
-
- // set default values for these required fields below, they can be overridden
- formatedTime = sdf.format(Date.from(endTime));
- MDC.put(END_TIME_STAMP, formatedTime);
- MDC.put(ELAPSED_TIME, Long.toString(Duration.between(startTime, endTime).toMillis()));
- }
-
- /**
- * Sets transaction Id to MDC.
- *
- * @param transId the transaction ID
- */
- public static void setTransId(String transId) {
-
- MDC.put(MDC_KEY_REQUEST_ID, transId);
- }
-
- /**
- * Returns current transaction Id used in MDC.
- *
- * @return transId
- */
- public static String getTransId() {
-
- return MDC.get(MDC_KEY_REQUEST_ID);
- }
-
- /**
- * Resets transaction Id in MDC for the rule triggered by this event.
- *
- * @param transId the transaction ID
- * @return String
- */
- public static String postMdcInfoForTriggeredRule(String transId) {
-
- String transactionId = transId;
-
- MDC.clear();
-
- if (transactionId == null || transactionId.isEmpty()) {
- transactionId = UUID.randomUUID().toString();
- }
- MDC.put(MDC_REMOTE_HOST, "");
- MDC.put(MDC_KEY_REQUEST_ID, transactionId);
- MDC.put(MDC_SERVICE_NAME, "Policy.droolsPdp");
- MDC.put(MDC_SERVICE_INSTANCE_ID, "");
- setMdcHostInfo();
- MDC.put(MDC_INSTANCE_UUID, "");
- MDC.put(MDC_ALERT_SEVERITY, "");
- MDC.put(STATUS_CODE, COMPLETE_STATUS);
-
- return transactionId;
-
- }
-
- /**
- * Resets transaction Id in MDC for the rule triggered by this event.
- *
- * @param obj object
- */
- public static void postMdcUuidForTriggeredRule(Object obj) {
-
- postMdcInfoForTriggeredRule("" + obj);
-
- }
-
- // ************************************************************************************************
- /**
- * Records the Info event with String [] arguments.
- *
- * @param msg the message code
- * @param className the class name
- * @param arguments the messages
- */
- public static void info(MessageCodes msg, String className, String... arguments) {
- MDC.put(classNameProp, className);
- debugLogger.info(msg, arguments);
- }
-
- /**
- * Records only one String message.
- *
- * @param arg0 the message
- */
- public static void info(Object arg0) {
- MDC.put(classNameProp, "");
- debugLogger.info(MessageCodes.GENERAL_INFO, String.valueOf(arg0));
- }
-
- /**
- * Records a message with passed in message code, Throwable object, a list of string values.
- *
- * @param msg the message code
- * @param arg0 the throwable
- * @param arguments the messages
- */
- public static void info(MessageCodes msg, Throwable arg0, String... arguments) {
- MDC.put(classNameProp, "");
- String arguments2 = getNormalizedStackTrace(arg0, arguments);
- debugLogger.info(msg, arguments2);
- }
-
- /**
- * Records a message with passed in message code, class name, Throwable object, a list of string
- * values.
- *
- * @param msg the message code
- * @param className the class name
- * @param arg0 the throwable
- * @param arguments the messages
- */
- public static void info(MessageCodes msg, String className, Throwable arg0, String... arguments) {
- MDC.put(classNameProp, className);
- String arguments2 = getNormalizedStackTrace(arg0, arguments);
- debugLogger.info(msg, arguments2);
- }
-
- /**
- * Records a message with passed in message text and variable number of arguments.
- *
- * @param message class name if one argument, otherwise message text
- * @param arguments variable number of arguments
- */
- public static void info(String message, Object... arguments) {
- if (!debugLogger.isInfoEnabled()) {
- return;
- }
- if (arguments.length == 1 && !OnapLoggingUtils.isThrowable(arguments[0])) {
- MDC.put(classNameProp, message);
- debugLogger.info(MessageCodes.GENERAL_INFO,
- arguments[0] == null ? "" : arguments[0].toString());
- return;
- }
- if (arguments.length == 1 && OnapLoggingUtils.isThrowable(arguments[0])) {
- String arguments2 = getNormalizedStackTrace((Throwable) arguments[0], "");
- debugLogger.info(MessageCodes.GENERAL_INFO, message + arguments2);
- return;
- }
-
- MDC.put(classNameProp, "");
- debugLogger.info(message, arguments);
- }
-
- /**
- * Records only one String message.
- *
- * @param arg0 the message
- */
- public static void warn(Object arg0) {
- MDC.put(classNameProp, "");
- debugLogger.warn(MessageCodes.GENERAL_WARNING, "" + arg0);
- }
-
- /**
- * Records only one String message without its class name passed in.
- *
- * @param arg0 the message
- */
- public static void warn(String arg0) {
- MDC.put(classNameProp, "");
- debugLogger.warn(MessageCodes.GENERAL_WARNING, arg0);
- }
-
- /**
- * Records a message with passed in message code, class name and a list of string values.
- *
- * @param msg the message code
- * @param className the class name
- * @param arguments the messages
- */
- public static void warn(MessageCodes msg, String className, String... arguments) {
- MDC.put(classNameProp, className);
- debugLogger.warn(msg, arguments);
- }
-
- /**
- * Records a message with passed in message code, Throwable object, a list of string values.
- *
- * @param msg the message code
- * @param arg0 the throwable
- * @param arguments the messages
- */
- public static void warn(MessageCodes msg, Throwable arg0, String... arguments) {
- MDC.put(classNameProp, "");
- String arguments2 = getNormalizedStackTrace(arg0, arguments);
- debugLogger.warn(msg, arguments2);
- }
-
- /**
- * Records a message with passed in message code, Throwable object, a list of string values.
- *
- * @param msg the message code
- * @param className the class name
- * @param arg0 the throwable
- * @param arguments the messages
- */
- public static void warn(MessageCodes msg, String className, Throwable arg0, String... arguments) {
- MDC.put(classNameProp, className);
- String arguments2 = getNormalizedStackTrace(arg0, arguments);
- debugLogger.warn(msg, arguments2);
- }
-
- /**
- * Records a message with passed in message text and variable number of arguments.
- *
- * @param message class name if one argument, otherwise message text
- * @param arguments variable number of arguments
- */
- public static void warn(String message, Object... arguments) {
- if (!debugLogger.isWarnEnabled()) {
- return;
- }
- if (arguments.length == 1 && !OnapLoggingUtils.isThrowable(arguments[0])) {
- MDC.put(classNameProp, message);
- debugLogger.warn(MessageCodes.GENERAL_INFO,
- arguments[0] == null ? "" : arguments[0].toString());
- return;
- }
- if (arguments.length == 1 && OnapLoggingUtils.isThrowable(arguments[0])) {
- String arguments2 = getNormalizedStackTrace((Throwable) arguments[0], "");
- debugLogger.warn(MessageCodes.GENERAL_INFO, message + arguments2);
- return;
- }
- MDC.put(classNameProp, "");
- debugLogger.warn(message, arguments);
- }
-
- /**
- * Records only one String message.
- *
- * @param arg0 the message
- */
- public static void error(String arg0) {
- MDC.put(classNameProp, "");
- setErrorCode(MessageCodes.GENERAL_ERROR);
- errorLogger.error(MessageCodes.GENERAL_ERROR, arg0);
- }
-
- /**
- * Records only one String message.
- *
- * @param arg0 the message
- */
- public static void error(Object arg0) {
- MDC.put(classNameProp, "");
- setErrorCode(MessageCodes.GENERAL_ERROR);
- errorLogger.error(MessageCodes.GENERAL_ERROR, "" + arg0);
- }
-
- /**
- * Records a message with passed in message code, Throwable object, a list of string values.
- *
- * @param msg the message code
- * @param arg0 the throwable
- * @param arguments the messages
- */
- public static void error(MessageCodes msg, Throwable arg0, String... arguments) {
- MDC.put(classNameProp, "");
- setErrorCode(msg);
- String arguments2 = getNormalizedStackTrace(arg0, arguments);
- errorLogger.error(msg, arguments2);
- }
-
- /**
- * Records a message with passed in message code, class name, Throwable object, a list of string
- * values.
- *
- * @param msg the message code
- * @param className the class name
- * @param arg0 the throwable
- * @param arguments the messages
- */
- public static void error(MessageCodes msg, String className, Throwable arg0, String... arguments) {
- MDC.put(classNameProp, className);
- setErrorCode(msg);
- String arguments2 = getNormalizedStackTrace(arg0, arguments);
- errorLogger.error(msg, arguments2);
- }
-
- /**
- * Records a message with passed in message code and a list of string values.
- *
- * @param msg the message code
- * @param arguments the messages
- */
- public static void error(MessageCodes msg, String... arguments) {
- MDC.put(classNameProp, "");
- setErrorCode(msg);
- errorLogger.error(msg, arguments);
- }
-
- /**
- * Records a message with passed in message text and variable number of arguments.
- *
- * @param message class name if one argument, otherwise message text
- * @param arguments variable number of arguments
- */
- public static void error(String message, Object... arguments) {
- if (!errorLogger.isErrorEnabled()) {
- return;
- }
- if (arguments.length == 1 && !OnapLoggingUtils.isThrowable(arguments[0])) {
- MDC.put(classNameProp, message);
- setErrorCode(MessageCodes.GENERAL_ERROR);
- errorLogger.error(MessageCodes.GENERAL_ERROR,
- arguments[0] == null ? "" : arguments[0].toString());
- return;
- }
- if (arguments.length == 1 && OnapLoggingUtils.isThrowable(arguments[0])) {
- String arguments2 = getNormalizedStackTrace((Throwable) arguments[0], "");
- errorLogger.error(MessageCodes.GENERAL_ERROR, message + arguments2);
- return;
- }
- MDC.put(classNameProp, "");
- setErrorCode(MessageCodes.GENERAL_ERROR);
- errorLogger.error(message, arguments);
- }
-
- /**
- * Records a message with passed in message code and a list of string values.
- *
- * @param msg the message code
- * @param arguments the messages
- */
- public static void debug(MessageCodes msg, String... arguments) {
- MDC.put(classNameProp, "");
- debugLogger.debug(msg, arguments);
- }
-
- /**
- * Records only one String message.
- *
- * @param arg0 the message
- */
- public static void debug(String arg0) {
- MDC.put(classNameProp, "");
- debugLogger.debug(arg0);
- }
-
- /**
- * Records only one String message.
- *
- * @param arg0 the message
- */
- public static void debug(Object arg0) {
-
- MDC.put(classNameProp, "");
- debugLogger.debug("{}", arg0);
- }
-
- /**
- * Records a message with passed in message code, hrowable object, a list of string values.
- *
- * @param msg the message code
- * @param arg0 the throwable
- * @param arguments the messages
- */
- public static void debug(MessageCodes msg, Throwable arg0, String... arguments) {
- MDC.put(classNameProp, "");
- String arguments2 = getNormalizedStackTrace(arg0, arguments);
- debugLogger.debug(msg, arguments2);
- }
-
- /**
- * Records a message with passed in message code, class name, Throwable object, a list of
- * string. values
- *
- * @param msg the message code
- * @param className the class name
- * @param arg0 the throwable
- * @param arguments the messages
- */
- public static void debug(MessageCodes msg, String className, Throwable arg0, String... arguments) {
- MDC.put(classNameProp, className);
- String arguments2 = getNormalizedStackTrace(arg0, arguments);
- debugLogger.debug(msg, arguments2);
- }
-
- /**
- * Records a message with passed in message text and variable number of arguments.
- *
- * @param message class name if one argument, otherwise message text
- * @param arguments variable number of arguments
- */
- public static void debug(String message, Object... arguments) {
- if (!debugLogger.isDebugEnabled()) {
- return;
- }
- if (arguments.length == 1 && !OnapLoggingUtils.isThrowable(arguments[0])) {
- MDC.put(classNameProp, message);
- debugLogger.debug(MessageCodes.GENERAL_INFO,
- arguments[0] == null ? "" : arguments[0].toString());
- return;
- }
- if (arguments.length == 1 && OnapLoggingUtils.isThrowable(arguments[0])) {
- String arguments2 = getNormalizedStackTrace((Throwable) arguments[0], "");
- debugLogger.debug(MessageCodes.GENERAL_INFO, message + arguments2);
- return;
- }
- MDC.put(classNameProp, "");
- debugLogger.debug(message, arguments);
- }
-
- /**
- * Records only one String message.
- *
- * @param arg0 the message
- */
- public static void audit(Object arg0) {
- MDC.put(INVOCATION_ID, MDC.get(MDC_KEY_REQUEST_ID));
- MDC.put(STATUS_CODE, COMPLETE_STATUS);
- MDC.put(RESPONSE_CODE, "0");
- MDC.put(classNameProp, "");
- auditLogger.info("{}", arg0);
- }
-
- /**
- * Records a message with passed in message text and variable number of arguments.
- *
- * @param message class name if one argument, otherwise message text
- * @param arguments variable number of arguments
- */
- public static void audit(String message, Object... arguments) {
- if (!auditLogger.isInfoEnabled()) {
- return;
- }
- MDC.put(INVOCATION_ID, postMdcInfoForEvent(null));
- MDC.put(STATUS_CODE, COMPLETE_STATUS);
- MDC.put(RESPONSE_CODE, "0");
- if (arguments.length == 1 && !OnapLoggingUtils.isThrowable(arguments[0])) {
- MDC.put(classNameProp, message);
- auditLogger.info("{}", arguments[0] == null ? "" : arguments[0].toString());
- return;
- }
-
- MDC.put(classNameProp, "");
- auditLogger.info(message, arguments);
- }
-
- /**
- * returns true for enabled, false for not enabled.
- */
- public static boolean isDebugEnabled() {
-
- return debugLogger.isDebugEnabled();
- }
-
- /**
- * returns true for enabled, false for not enabled.
- */
- public static boolean isErrorEnabled() {
-
- return errorLogger.isErrorEnabled();
- }
-
- /**
- * returns true for enabled, false for not enabled.
- */
- public static boolean isWarnEnabled() {
-
- return debugLogger.isWarnEnabled();
- }
-
- /**
- * returns true for enabled, false for not enabled.
- */
- public static boolean isInfoEnabled1() {
-
- return debugLogger.isInfoEnabled();
- }
-
- /**
- * returns true for enabled, false for not enabled.
- */
- public static boolean isAuditEnabled() {
-
- return debugLogger.isInfoEnabled();
- }
-
- /**
- * returns true for enabled, false for not enabled.
- */
- public static boolean isInfoEnabled() {
-
- return debugLogger.isInfoEnabled();
- }
-
- /**
- * Records only one String message with its class name.
- *
- * @param className the class name
- * @param arg0 the message
- */
- public static void trace(String className, String arg0) {
- MDC.put(classNameProp, className);
- debugLogger.trace(MessageCodes.GENERAL_INFO, arg0);
- }
-
- /**
- * Records only one String message.
- *
- * @param arg0 the message
- */
- public static void trace(Object arg0) {
-
- MDC.put(classNameProp, "");
- debugLogger.trace("{}", arg0);
- }
-
- /**
- * Records the starting time of the event with its request Id as the key.
- *
- * @param eventId the event ID
- */
- public static void recordAuditEventStart(String eventId) {
-
- MDC.put(STATUS_CODE, COMPLETE_STATUS);
- postMdcInfoForEvent(eventId);
-
- if (eventTracker == null) {
- eventTracker = new EventTrackInfo();
- }
- var event = new EventData();
- event.setRequestId(eventId);
- event.setStartTime(Instant.now());
- eventTracker.storeEventData(event);
- MDC.put(MDC_KEY_REQUEST_ID, eventId);
- debugLogger.info("CONCURRENTHASHMAP_LIMIT : {}", concurrentHashMapLimit);
- // --- Tracking the size of the concurrentHashMap, if it is above limit, keep EventTrack
- // Timer running
- int size = eventTracker.getEventInfo().size();
-
- debugLogger.info("EventInfo concurrentHashMap Size : {} on {}", size, new Date());
- debugLogger.info("isEventTrackerRunning : {}", isEventTrackerRunning);
-
- if (size >= concurrentHashMapLimit) {
-
-
- if (!isEventTrackerRunning) {
-
- startCleanUp();
- isEventTrackerRunning = true;
- }
-
- } else if (size <= stopCheckPoint && isEventTrackerRunning) {
-
- stopCleanUp();
- }
- }
-
- /**
- * Records the starting time of the event with its request Id as the key.
- *
- * @param eventId the event ID
- */
- public static void recordAuditEventStart(UUID eventId) {
-
- if (eventId == null) {
- return;
- }
-
- if (eventTracker == null) {
- eventTracker = new EventTrackInfo();
- }
-
- recordAuditEventStart(eventId.toString());
-
- }
-
- /**
- * Records the ending time of the event with its request Id as the key.
- *
- * @param eventId the event ID
- * @param rule the rule
- */
- public static void recordAuditEventEnd(String eventId, String rule) {
-
- if (eventTracker == null) {
- return;
- }
- if (eventId == null) {
- return;
- }
-
- creatAuditEventTrackingRecord(eventId, rule, "");
-
- }
-
- /**
- * Records the ending time of the event with its request Id as the key.
- *
- * @param eventId the event ID
- * @param rule the rule
- * @param policyVersion the policy version
- */
- public static void recordAuditEventEnd(String eventId, String rule, String policyVersion) {
-
- if (eventTracker == null) {
- return;
- }
- if (eventId == null) {
- return;
- }
-
- creatAuditEventTrackingRecord(eventId, rule, policyVersion);
-
- }
-
- /**
- * Records the ending time of the event with its request Id as the key.
- *
- * @param eventId the event ID
- * @param rule the rule
- * @param policyVersion the policy version
- */
- public static void recordAuditEventEnd(UUID eventId, String rule, String policyVersion) {
-
- if (eventId == null) {
- return;
- }
-
- recordAuditEventEnd(eventId.toString(), rule, policyVersion);
-
- }
-
-
- /**
- * Records the ending time of the event with its request Id as the key.
- *
- * @param eventId the event ID
- * @param rule the rule
- */
- public static void recordAuditEventEnd(UUID eventId, String rule) {
-
- if (eventId == null) {
- return;
- }
-
- recordAuditEventEnd(eventId.toString(), rule);
-
- }
-
- /**
- * Records the ending time of the event with its request Id as the key.
- *
- * @param eventId the event ID
- * @param rule the rule
- * @param policyVersion the policy version
- */
- public static void creatAuditEventTrackingRecord(String eventId, String rule, String policyVersion) {
-
- if (eventTracker == null) {
- return;
- }
-
- var event = eventTracker.getEventDataByRequestId(eventId);
-
- if (event != null) {
- Instant endTime = event.getEndTime();
- if (endTime == null) {
- endTime = Instant.now();
- }
- MDC.put(STATUS_CODE, COMPLETE_STATUS);
- recordAuditEventStartToEnd(eventId, rule, event.getStartTime(), endTime, policyVersion);
- }
- }
-
- /**
- * Records the ending time of the event with its request Id as the key.
- *
- * @param eventId the event ID
- * @param rule the rule
- */
- public static void creatAuditEventTrackingRecord(UUID eventId, String rule) {
-
- if (eventId == null) {
- return;
- }
-
- if (eventTracker == null) {
- return;
- }
-
- var event = eventTracker.getEventDataByRequestId(eventId.toString());
-
- if (event != null) {
- Instant endTime = event.getEndTime();
- if (endTime == null) {
- endTime = Instant.now();
- }
-
- recordAuditEventStartToEnd(eventId.toString(), rule, event.getStartTime(), endTime, "N/A");
- }
- }
-
- public static EventTrackInfo getEventTracker() {
- return eventTracker;
- }
-
- /**
- * Records the audit with an event starting and ending times.
- *
- * @param eventId the event ID
- * @param rule the rule
- * @param startTime the start time
- * @param endTime the end time
- * @param policyVersion the policy version
- */
- public static void recordAuditEventStartToEnd(String eventId, String rule, Instant startTime, Instant endTime,
- String policyVersion) {
-
- if (startTime == null || endTime == null) {
- return;
- }
- if (eventId != null && !eventId.isEmpty()) {
- MDC.put(MDC_KEY_REQUEST_ID, eventId);
- }
-
- seTimeStamps(startTime, endTime);
-
- MDC.put(RESPONSE_CODE, "N/A");
- MDC.put(RESPONSE_DESCRIPTION, "N/A");
-
- long ns = Duration.between(startTime, endTime).toMillis();
-
- auditLogger.info(MessageCodes.RULE_AUDIT_START_END_INFO, MDC.get(MDC_SERVICE_NAME), rule, startTime.toString(),
- endTime.toString(), Long.toString(ns), policyVersion);
-
- // --- remove the record from the concurrentHashMap
- if (eventTracker != null && eventTracker.getEventDataByRequestId(eventId) != null) {
-
- eventTracker.remove(eventId);
- debugLogger.info("eventTracker.remove({})", eventId);
-
- }
- }
-
- /**
- * Records the metrics with an event Id and log message.
- *
- * @param eventId the event ID
- * @param arg1 the message
- */
- public static void recordMetricEvent(String eventId, String arg1) {
-
- seTimeStamps();
-
- String serviceName = MDC.get(MDC_SERVICE_NAME);
- MDC.put(MDC_KEY_REQUEST_ID, eventId);
- MDC.put(STATUS_CODE, COMPLETE_STATUS);
- metricsLogger.info(MessageCodes.RULE_AUDIT_END_INFO, serviceName, arg1);
-
- }
-
- /**
- * Records the metrics with an event Id, class name and log message.
- *
- * @param eventId the event ID
- * @param className the class name
- * @param arg1 the message
- */
- public static void recordMetricEvent(String eventId, String className, String arg1) {
-
- seTimeStamps();
-
- MDC.put(classNameProp, className);
- String serviceName = MDC.get(MDC_SERVICE_NAME);
- MDC.put(MDC_KEY_REQUEST_ID, eventId);
- MDC.put(STATUS_CODE, COMPLETE_STATUS);
- metricsLogger.info(MessageCodes.RULE_AUDIT_END_INFO, serviceName, arg1);
- }
-
- /**
- * Records the metrics with an event Id and log message.
- *
- * @param eventId the event ID
- * @param arg1 the message
- */
- public static void recordMetricEvent(UUID eventId, String arg1) {
-
- if (eventId == null) {
- return;
- }
- String serviceName = MDC.get(MDC_SERVICE_NAME);
- MDC.put(MDC_KEY_REQUEST_ID, eventId.toString());
- metricsLogger.info(MessageCodes.RULE_AUDIT_END_INFO, serviceName, arg1);
- }
-
- /**
- * Records a String message for metrics logs.
- *
- * @param arg0 the message
- */
- public static void recordMetricEvent(String arg0) {
- seTimeStamps();
- String serviceName = MDC.get(MDC_SERVICE_NAME);
- metricsLogger.info(MessageCodes.RULE_METRICS_INFO, serviceName, arg0);
- }
-
-
- /**
- * Records the metrics event with a String message.
- *
- * @param arg0 the message
- */
- public static void metrics(String arg0) {
- seTimeStamps();
- MDC.put(INVOCATION_ID, MDC.get(MDC_KEY_REQUEST_ID));
- MDC.put(RESPONSE_CODE, "0");
- String serviceName = MDC.get(MDC_SERVICE_NAME);
- metricsLogger.info(MessageCodes.RULE_METRICS_INFO, serviceName, arg0);
- }
-
- /**
- * Records the metrics event with a String message.
- *
- * @param arg0 the message
- */
- public static void metrics(Object arg0) {
- seTimeStamps();
- MDC.put(INVOCATION_ID, MDC.get(MDC_KEY_REQUEST_ID));
- MDC.put(RESPONSE_CODE, "0");
- MDC.put(classNameProp, "");
- String serviceName = MDC.get(MDC_SERVICE_NAME);
- metricsLogger.info(MessageCodes.RULE_METRICS_INFO, serviceName, "" + arg0);
- }
-
- /**
- * Records a message with passed in message text and variable number of arguments.
- *
- * @param message class name if one argument, otherwise message text
- * @param arguments variable number of arguments
- */
- public static void metrics(String message, Object... arguments) {
- if (!metricsLogger.isInfoEnabled()) {
- return;
- }
- seTimeStamps();
- MDC.put(INVOCATION_ID, MDC.get(MDC_KEY_REQUEST_ID));
- MDC.put(RESPONSE_CODE, "0");
- if (arguments.length == 1 && !OnapLoggingUtils.isThrowable(arguments[0])) {
- MDC.put(classNameProp, message);
- String serviceName = MDC.get(MDC_SERVICE_NAME);
- metricsLogger.info(MessageCodes.RULE_METRICS_INFO, serviceName,
- arguments[0] == null ? "" : arguments[0].toString());
- return;
- }
- if (arguments.length == 1 && OnapLoggingUtils.isThrowable(arguments[0])) {
- String arguments2 = getNormalizedStackTrace((Throwable) arguments[0], "");
- metricsLogger.info(MessageCodes.RULE_METRICS_INFO, message + arguments2);
- return;
- }
-
- MDC.put(classNameProp, "");
- metricsLogger.info(message, arguments);
- }
-
- /**
- * Records the metrics event with a String message.
- *
- * @param arg0 the message
- */
- public static void metricsPrintln(String arg0) {
- MDC.clear();
- metricsLogger.info(arg0);
- }
-
- /**
- * Removes all the return lines from the printStackTrace.
- *
- * @param throwable the throwable
- * @param arguments the messages
- */
- private static String getNormalizedStackTrace(Throwable throwable, String... arguments) {
- var sw = new StringWriter();
- var pw = new PrintWriter(sw);
- throwable.printStackTrace(pw);
- String newStValue = sw.toString().replace('|', '!').replace("\n", " - ");
- int curSize = arguments == null ? 0 : arguments.length;
- var newArgument = new StringBuilder();
- for (var i = 0; i < curSize; i++) {
- newArgument.append(arguments[i]);
- newArgument.append(":");
- }
- newArgument.append(newStValue);
- return newArgument.toString();
- }
-
- /**
- * Starts the process of cleaning up the ConcurrentHashMap of EventData.
- */
- private static void startCleanUp() {
-
- if (!isEventTrackerRunning) {
- var ttrcker = new EventTrackInfoHandler();
- timer = new Timer(true);
- timer.scheduleAtFixedRate(ttrcker, timerDelayTime, checkInterval);
- debugLogger.info("EventTrackInfoHandler begins! : {}", new Date());
- } else {
- debugLogger.info("Timer is still running : {}", new Date());
-
- }
- }
-
-
- /**
- * Stops the process of cleaning up the ConcurrentHashMap of EventData.
- */
- private static void stopCleanUp() {
-
- if (isEventTrackerRunning && timer != null) {
- timer.cancel();
- timer.purge();
- debugLogger.info("Timer stopped: {}", new Date());
- } else {
- debugLogger.info("Timer was already stopped : {}", new Date());
-
- }
- isEventTrackerRunning = false;
-
- }
-
- /**
- * Loads all the attributes from policyLogger.properties file
- */
- public static LoggerType init(Properties properties) {
-
- var loggerProperties = getLoggerProperties(properties);
-
- // fetch and verify definitions of some properties
- try {
- setOverrideLogbackLevels(loggerProperties);
-
- setLoggerLevel(loggerProperties, "debugLogger.level", "INFO", PolicyLogger::setDebugLevel);
-
- // Only check if it is to turn on or off
- setLoggerOnOff(loggerProperties, "metricsLogger.level", PolicyLogger::setMetricsLevel);
- setLoggerOnOff(loggerProperties, "audit.level", PolicyLogger::setAuditLevel);
- setLoggerOnOff(loggerProperties, "error.level", PolicyLogger::setErrorLevel);
-
- isEventTrackerRunning = false;
-
- timerDelayTime = getIntProp(loggerProperties, "timer.delay.time", timerDelayTime);
- checkInterval = getIntProp(loggerProperties, "check.interval", checkInterval);
- expiredTime = getIntProp(loggerProperties, "event.expired.time", expiredTime);
- concurrentHashMapLimit = getIntProp(loggerProperties, "concurrentHashMap.limit", concurrentHashMapLimit);
- stopCheckPoint = getIntProp(loggerProperties, "stop.check.point", stopCheckPoint);
-
- component = loggerProperties.getProperty("policy.component", "DROOLS");
- debugLogger.info("component: {}", component);
-
- return detmLoggerType(loggerProperties);
-
- } catch (Exception e) {
- MDC.put(ERROR_CATEGORY, ERROR_CATEGORY_VALUE);
-
- if (ErrorCodeMap.getErrorCodeInfo(MessageCodes.GENERAL_ERROR) != null) {
- MDC.put(ERROR_CODE, ErrorCodeMap.getErrorCodeInfo(MessageCodes.GENERAL_ERROR).getErrorCode());
- MDC.put(ERROR_DESCRIPTION, ErrorCodeMap.getErrorCodeInfo(MessageCodes.GENERAL_ERROR).getErrorDesc());
-
- }
- errorLogger.error("failed to get the policyLogger.properties, so use their default values", e);
-
- return LoggerType.EELF;
- }
-
- }
-
- private static int getIntProp(Properties properties, String propName, int defaultValue) {
- final var propValue = Integer.parseInt(properties.getProperty(propName, String.valueOf(defaultValue)));
-
- debugLogger.info("{} value: {}", propName, propValue);
-
- if (propValue > 0) {
- return propValue;
-
- } else {
- MDC.put(ERROR_CATEGORY, ERROR_CATEGORY_VALUE);
- if (ErrorCodeMap.getErrorCodeInfo(MessageCodes.GENERAL_ERROR) != null) {
- MDC.put(ERROR_CODE, ErrorCodeMap.getErrorCodeInfo(MessageCodes.GENERAL_ERROR).getErrorCode());
- MDC.put(ERROR_DESCRIPTION,
- ErrorCodeMap.getErrorCodeInfo(MessageCodes.GENERAL_ERROR).getErrorDesc());
-
- }
- errorLogger.error("failed to get the {}, so use its default value: {}", propName, defaultValue);
- return defaultValue;
- }
- }
-
- private static Properties getLoggerProperties(Properties properties) {
- if (properties != null) {
- return properties;
- } else {
- displayErrorMessage("PolicyLogger cannot find its configuration - continue");
- return new Properties();
- }
- }
-
- private static void setLoggerLevel(Properties properties, String propName, String defaultValue,
- Consumer<String> setter) {
-
- final String propValue = properties.getProperty(propName, defaultValue);
-
- if (!StringUtils.isBlank(propValue)) {
- debugLogger.info("{} level: {}", propName, propValue);
- }
-
- setter.accept(propValue);
- }
-
- private static void setLoggerOnOff(Properties properties, String propName, Consumer<String> setter) {
- final String propValue = properties.getProperty(propName, "ON");
-
- if (Level.OFF.toString().equalsIgnoreCase(propValue)) {
- debugLogger.info("{} level: {}", propName, propValue);
- }
-
- setter.accept(propValue);
- }
-
- private static void setOverrideLogbackLevels(Properties loggerProperties) {
- final var overrideLogbackLevelText = loggerProperties.getProperty("override.logback.level.setup");
-
- if (!StringUtils.isBlank(overrideLogbackLevelText)) {
- overrideLogbackLevel = "TRUE".equalsIgnoreCase(overrideLogbackLevelText);
- }
- }
-
- private static LoggerType detmLoggerType(Properties loggerProperties) {
- final String loggerTypeProp = loggerProperties.getProperty("logger.type", LoggerType.EELF.toString());
- debugLogger.info("loggerType value: {}", loggerTypeProp);
-
- switch (loggerTypeProp.toUpperCase()) {
- case "EELF":
- return LoggerType.EELF;
- case "SYSTEMOUT":
- return LoggerType.SYSTEMOUT;
-
- default:
- return LoggerType.EELF;
- }
- }
-
- /**
- * Sets server information to MDC.
- */
- public static void setServerInfo(String serverHost, String serverPort) {
- MDC.put(SERVER_NAME, serverHost + ":" + serverPort);
- }
-
- /**
- * Sets error category, code and description.
- */
- private static void setErrorCode(MessageCodes errcode) {
- MDC.put(ERROR_CATEGORY, ERROR_CATEGORY_VALUE);
- if (ErrorCodeMap.getErrorCodeInfo(errcode) != null) {
- MDC.put(ERROR_CODE, ErrorCodeMap.getErrorCodeInfo(errcode).getErrorCode());
- MDC.put(ERROR_DESCRIPTION, ErrorCodeMap.getErrorCodeInfo(errcode).getErrorDesc());
- } else {
- MDC.put(ERROR_CODE,
- ErrorCodeMap.getErrorCodeInfo(MessageCodes.ERROR_UNKNOWN).getErrorCode());
- MDC.put(ERROR_DESCRIPTION,
- ErrorCodeMap.getErrorCodeInfo(MessageCodes.ERROR_UNKNOWN).getErrorDesc());
- }
- }
-}
diff --git a/common-logging/src/main/java/org/onap/policy/common/logging/flexlogger/DisplayUtils.java b/common-logging/src/main/java/org/onap/policy/common/logging/flexlogger/DisplayUtils.java
deleted file mode 100644
index 425c62a4..00000000
--- a/common-logging/src/main/java/org/onap/policy/common/logging/flexlogger/DisplayUtils.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * ONAP
- * ================================================================================
- * 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.
- * 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.flexlogger;
-
-import lombok.AccessLevel;
-import lombok.NoArgsConstructor;
-
-/**
- * Utilities to display messages. These are generally used while logging is being
- * configured, or when logging being directed to System.out. As a result, it directly
- * writes to System.out rather than to a logger.
- */
-
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
-public class DisplayUtils {
-
- /*
- * As the comment above says, these purposely write to System.out rather than a
- * logger, thus sonar is disabled.
- */
-
- public static void displayMessage(Object message) {
- System.out.println(message); // NOSONAR
- }
-
- public static void displayErrorMessage(Object msg) {
- System.err.println(msg); // NOSONAR
- }
-}
diff --git a/common-logging/src/main/java/org/onap/policy/common/logging/flexlogger/EelfLogger.java b/common-logging/src/main/java/org/onap/policy/common/logging/flexlogger/EelfLogger.java
deleted file mode 100644
index 0e0ef2bf..00000000
--- a/common-logging/src/main/java/org/onap/policy/common/logging/flexlogger/EelfLogger.java
+++ /dev/null
@@ -1,575 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * ONAP-Logging
- * ================================================================================
- * 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.
- * 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.flexlogger;
-
-import com.att.eelf.configuration.EELFLogger.Level;
-import java.io.Serializable;
-import java.util.UUID;
-import lombok.Getter;
-import org.onap.policy.common.logging.eelf.MessageCodes;
-import org.onap.policy.common.logging.eelf.PolicyLogger;
-
-/**
- * EelfLogger implements all the methods of interface Logger by calling PolicyLogger methods.
- */
-
-public class EelfLogger implements Logger, Serializable {
-
- private static final long serialVersionUID = 5385586713941277192L;
- private String className = "";
- @Getter
- private String transId = UUID.randomUUID().toString();
-
- /**
- * Constructor.
- *
- * @param clazz the class
- */
- public EelfLogger(Class<?> clazz) {
- if (clazz != null) {
- className = clazz.getName();
- }
- PolicyLogger.postMdcInfoForEvent(null);
- }
-
- /**
- * Constructor.
- *
- * @param className the class name
- */
- public EelfLogger(String className) {
- if (className != null) {
- this.className = className;
- }
- PolicyLogger.postMdcInfoForEvent(null);
- }
-
- /**
- * Constructor.
- *
- * @param clazz the class
- * @param isNewTransaction is a new transaction
- */
- public EelfLogger(Class<?> clazz, boolean isNewTransaction) {
- if (clazz != null) {
- className = clazz.getName();
- }
- if (isNewTransaction) {
- transId = PolicyLogger.postMdcInfoForEvent(null);
- } else {
- transId = PolicyLogger.getTransId();
- }
- }
-
- /**
- * Constructor.
- *
- * @param className the class name
- * @param isNewTransaction is a new transaction
- */
- public EelfLogger(String className, boolean isNewTransaction) {
- if (className != null) {
- this.className = className;
- }
- if (isNewTransaction) {
- transId = PolicyLogger.postMdcInfoForEvent(null);
- } else {
- transId = PolicyLogger.getTransId();
- }
- }
-
- /**
- * Constructor.
- *
- * @param clazz the class
- * @param transId the transaction ID
- */
- public EelfLogger(Class<?> clazz, String transId) {
- if (clazz != null) {
- className = clazz.getName();
- }
- PolicyLogger.postMdcInfoForEvent(transId);
- this.transId = transId;
- }
-
- /**
- * Constructor.
- *
- * @param className the class name
- * @param transId the transaction ID
- */
- public EelfLogger(String className, String transId) {
- if (className != null) {
- this.className = className;
- }
- PolicyLogger.postMdcInfoForEvent(transId);
- this.transId = transId;
- }
-
- /**
- * Sets transaction Id for logging.
- *
- * @param transId the transaction ID
- */
- @Override
- public void setTransId(String transId) {
-
- PolicyLogger.setTransId(transId);
- this.transId = transId;
- }
-
- /**
- * Records a message.
- *
- * @param message the message
- */
- @Override
- public void debug(Object message) {
- PolicyLogger.debug(className, "" + message);
- }
-
- /**
- * Records a message.
- *
- * @param message the message
- * @param throwable the throwable
- */
- @Override
- public void debug(Object message, Throwable throwable) {
- PolicyLogger.debug(MessageCodes.GENERAL_INFO, throwable, message.toString());
- }
-
- /**
- * Records a message.
- *
- * @param message the message
- * @param arguments the arguments for message
- */
- @Override
- public void debug(String message, Object... arguments) {
- PolicyLogger.debug(message, arguments);
- }
-
- /**
- * Records an error message.
- *
- * @param message the message
- */
- @Override
- public void error(Object message) {
- PolicyLogger.error(className, "" + message);
- }
-
- /**
- * Records an error message.
- *
- * @param message the message
- * @param throwable the throwable
- */
- @Override
- public void error(Object message, Throwable throwable) {
- PolicyLogger.error(MessageCodes.ERROR_UNKNOWN, throwable, message.toString());
- }
-
- /**
- * Records an error message.
- *
- * @param msg the message code
- * @param throwable the throwable
- * @param arguments the messages
- */
- @Override
- public void error(MessageCodes msg, Throwable throwable, String... arguments) {
- PolicyLogger.error(msg, className, throwable, arguments);
- }
-
- /**
- * Records an error message.
- *
- * @param msg the message code
- * @param arguments the messages
- */
- @Override
- public void error(MessageCodes msg, String... arguments) {
- PolicyLogger.error(msg, arguments);
- }
-
- /**
- * Records an error message.
- *
- * @param message the message
- * @param arguments the arguments for message
- */
- @Override
- public void error(String message, Object... arguments) {
- PolicyLogger.error(message, arguments);
- }
-
- /**
- * Records a message.
- *
- * @param message the message
- */
- @Override
- public void info(Object message) {
- PolicyLogger.info(className, "" + message);
- }
-
- /**
- * Records a message.
- *
- * @param message the message
- * @param throwable the throwable
- */
- @Override
- public void info(Object message, Throwable throwable) {
- PolicyLogger.info(MessageCodes.GENERAL_INFO, throwable, message.toString());
- }
-
- /**
- * Records a message.
- *
- * @param message the message
- * @param arguments the arguments for message
- */
- @Override
- public void info(String message, Object... arguments) {
- PolicyLogger.info(message, arguments);
- }
-
- /**
- * Records a message.
- *
- * @param message the message
- */
- @Override
- public void warn(Object message) {
- PolicyLogger.warn(className, "" + message);
- }
-
- /**
- * Records a message.
- *
- * @param message the message
- * @param throwable the throwable
- */
- @Override
- public void warn(Object message, Throwable throwable) {
- PolicyLogger.warn(MessageCodes.GENERAL_WARNING, throwable, message.toString());
- }
-
- /**
- * Records a message.
- *
- * @param msg the message codes
- * @param arguments the messages
- */
- @Override
- public void warn(MessageCodes msg, String... arguments) {
- PolicyLogger.warn(msg, className, arguments);
- }
-
- /**
- * Records a message.
- *
- * @param msg the message
- * @param throwable the throwable
- * @param arguments the messages
- */
- @Override
- public void warn(MessageCodes msg, Throwable throwable, String... arguments) {
- PolicyLogger.warn(msg, className, throwable, arguments);
- }
-
- /**
- * Records a message.
- *
- * @param message the message
- * @param arguments the arguments for message
- */
- @Override
- public void warn(String message, Object... arguments) {
- PolicyLogger.warn(message, arguments);
- }
-
- /**
- * Records a message.
- *
- * @param message the message
- */
- @Override
- public void trace(Object message) {
- PolicyLogger.trace(className, "" + message);
- }
-
- /**
- * Records a message.
- *
- * @param message the message
- * @param throwable the throwable
- */
- @Override
- public void trace(Object message, Throwable throwable) {
- PolicyLogger.trace(message);
- }
-
- /**
- * Returns true for debug enabled, or false for not.
- *
- * @return boolean
- */
- @Override
- public boolean isDebugEnabled() {
- return PolicyLogger.isDebugEnabled();
- }
-
- /**
- * Returns true for info enabled, or false for not.
- *
- * @return boolean
- */
- @Override
- public boolean isInfoEnabled() {
- return PolicyLogger.isInfoEnabled();
- }
-
- /**
- * Returns true for warn enabled, or false for not.
- *
- * @return boolean
- */
- @Override
- public boolean isWarnEnabled() {
- return PolicyLogger.isWarnEnabled();
- }
-
- /**
- * Returns true for error enabled, or false for not.
- *
- * @return boolean
- */
- @Override
- public boolean isErrorEnabled() {
- return PolicyLogger.isErrorEnabled();
- }
-
- /**
- * Returns true for audit enabled, or false for not.
- *
- * @return boolean
- */
- @Override
- public boolean isAuditEnabled() {
- return (PolicyLogger.getAuditLevel() != Level.OFF);
- }
-
- /**
- * Returns true for metrics enabled, or false for not.
- *
- * @return boolean
- */
- @Override
- public boolean isMetricsEnabled() {
- return (PolicyLogger.getMetricsLevel() != Level.OFF);
- }
-
- /**
- * Returns true for trace enabled, or false for not.
- *
- * @return boolean
- */
- @Override
- public boolean isTraceEnabled() {
- return PolicyLogger.isDebugEnabled();
- }
-
- /**
- * Records an audit message.
- *
- * @param arg0 the message
- */
- @Override
- public void audit(Object arg0) {
- PolicyLogger.audit(className, "" + arg0);
- }
-
- /**
- * Records an audit message.
- *
- * @param message the message
- * @param throwable the throwable
- */
- @Override
- public void audit(Object message, Throwable throwable) {
- PolicyLogger.audit(message);
- }
-
- /**
- * Records a message.
- *
- * @param message the message
- * @param arguments the arguments for message
- */
- @Override
- public void audit(String message, Object... arguments) {
- PolicyLogger.audit(message, arguments);
- }
-
- /**
- * Records an audit message.
- *
- * @param eventId the event ID
- */
- @Override
- public void recordAuditEventStart(String eventId) {
- PolicyLogger.recordAuditEventStart(eventId);
- }
-
- /**
- * Records an audit message.
- *
- * @param eventId the event ID
- */
- @Override
- public void recordAuditEventStart(UUID eventId) {
- PolicyLogger.recordAuditEventStart(eventId);
- }
-
- /**
- * Records an audit message.
- *
- * @param eventId the event ID
- * @param rule the rule
- * @param policyVersion the policy cersion
- */
- @Override
- public void recordAuditEventEnd(String eventId, String rule, String policyVersion) {
- PolicyLogger.recordAuditEventEnd(eventId, rule, policyVersion);
- }
-
- /**
- * Records an audit message.
- *
- * @param eventId the event ID
- * @param rule the rule
- * @param policyVersion the policy version
- */
- @Override
- public void recordAuditEventEnd(UUID eventId, String rule, String policyVersion) {
- PolicyLogger.recordAuditEventEnd(eventId, rule, policyVersion);
- }
-
- /**
- * Records an audit message.
- *
- * @param eventId the event ID
- * @param rule the rule
- */
- @Override
- public void recordAuditEventEnd(String eventId, String rule) {
- PolicyLogger.recordAuditEventEnd(eventId, rule);
- }
-
- /**
- * Records an audit message.
- *
- * @param eventId the event ID
- * @param rule the rule
- */
- @Override
- public void recordAuditEventEnd(UUID eventId, String rule) {
- PolicyLogger.recordAuditEventEnd(eventId, rule);
- }
-
- /**
- * Records a metrics message.
- *
- * @param eventId the event ID
- * @param message the message
- */
- @Override
- public void recordMetricEvent(String eventId, String message) {
- PolicyLogger.recordMetricEvent(eventId, message);
- }
-
- /**
- * Records a metrics message.
- *
- * @param eventId the event ID
- * @param message the message
- */
- @Override
- public void recordMetricEvent(UUID eventId, String message) {
- PolicyLogger.recordMetricEvent(eventId, message);
- }
-
- /**
- * Records a metrics message.
- *
- * @param message the message
- */
- @Override
- public void metrics(Object message) {
- PolicyLogger.metrics(className, message);
- }
-
- /**
- * Records a message.
- *
- * @param message the message
- * @param arguments the arguments for message
- */
- @Override
- public void metrics(String message, Object... arguments) {
- PolicyLogger.metrics(message, arguments);
- }
-
- /**
- * Populates MDC Info.
- *
- * @param transId the transaction ID
- */
- @Override
- public String postMdcInfoForEvent(String transId) {
- return PolicyLogger.postMdcInfoForEvent(transId);
- }
-
- /**
- * Populates MDC Info.
- *
- * @param obj the object
- */
- @Override
- public void postMdcInfoForEvent(Object obj) {
- PolicyLogger.postMdcInfoForEvent(obj);
- }
-
- /**
- * Populates MDC Info for the rule triggered.
- *
- * @param transId the transaction ID
- */
- @Override
- public void postMdcInfoForTriggeredRule(String transId) {
- PolicyLogger.postMdcInfoForTriggeredRule(transId);
- }
-
-}
diff --git a/common-logging/src/main/java/org/onap/policy/common/logging/flexlogger/FlexLogger.java b/common-logging/src/main/java/org/onap/policy/common/logging/flexlogger/FlexLogger.java
deleted file mode 100644
index 6c301712..00000000
--- a/common-logging/src/main/java/org/onap/policy/common/logging/flexlogger/FlexLogger.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP-Logging
- * ================================================================================
- * Copyright (C) 2017-2021 AT&T Intellectual Property. All rights reserved.
- * Modifications Copyright (C) 2023 Nordix Foundation.
- * ================================================================================
- * 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.flexlogger;
-
-import static org.onap.policy.common.logging.flexlogger.DisplayUtils.displayMessage;
-
-import java.io.IOException;
-import java.text.SimpleDateFormat;
-import java.time.Instant;
-import java.util.Date;
-import java.util.Properties;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-import org.onap.policy.common.logging.eelf.PolicyLogger;
-import org.onap.policy.common.logging.flexlogger.PropertyUtil.Listener;
-
-/**
- * FlexLogger acts as factory to generate instances of Logger based on logger type.
- */
-public class FlexLogger extends SecurityManager {
-
- private static final String GET_LOGGER_PREFIX = "FlexLogger:getLogger : loggerType = ";
- private static LoggerType loggerType = LoggerType.EELF;
- private static ConcurrentHashMap<String, EelfLogger> eelfLoggerMap = new ConcurrentHashMap<>();
- private static ConcurrentHashMap<String, SystemOutLogger> systemOutMap = new ConcurrentHashMap<>();
-
- // --- init logger first
- static {
- loggerType = initLogger();
- }
-
- /**
- * Returns an instance of Logger.
- *
- * @param clazz the class
- */
- public static Logger getLogger(Class<?> clazz) {
- return getLogger(clazz, false);
- }
-
- /**
- * Returns an instance of Logger.
- */
- public static Logger getLogger() {
- return getLogger(null);
- }
-
- /**
- * Returns an instance of Logger.
- *
- * @param clazz the class
- * @param isNewTransaction is a new transaction
- */
- public static Logger getLogger(Class<?> clazz, boolean isNewTransaction) {
- Logger logger;
- displayMessage(GET_LOGGER_PREFIX + loggerType);
- if (loggerType == LoggerType.EELF) {
- logger = getEelfLogger(clazz, isNewTransaction);
- } else {
- logger = getSystemOutLogger();
- }
-
- return logger;
- }
-
- /**
- * Returns an instance of Logger.
- *
- * @param isNewTransaction is a new transaction
- */
- public static Logger getLogger(boolean isNewTransaction) {
- return getLogger(null, isNewTransaction);
- }
-
- /**
- * Returns the calling class name.
- */
- public String getClassName() {
- displayMessage("getClassContext()[3].getName() " + getClassContext()[3].getName());
- return getClassContext()[3].getName();
- }
-
- /**
- * Returns an instance of EelfLogger.
- *
- * @param clazz the class
- * @param isNewTransaction is a new transaction
- */
- private static EelfLogger getEelfLogger(Class<?> clazz, boolean isNewTransaction) {
-
- String className;
- EelfLogger logger;
- if (clazz != null) {
- className = clazz.getName();
- } else {
- className = new FlexLogger().getClassName();
- }
-
- logger = eelfLoggerMap.computeIfAbsent(className, key -> new EelfLogger(clazz, isNewTransaction));
-
- if (isNewTransaction) {
- String transId = PolicyLogger.postMdcInfoForEvent(null);
- logger.setTransId(transId);
- }
-
- displayMessage("eelfLoggerMap size : " + eelfLoggerMap.size() + " class name: " + className);
- return logger;
- }
-
- /**
- * Returns an instance of SystemOutLogger.
- */
- private static SystemOutLogger getSystemOutLogger() {
-
- String className = new FlexLogger().getClassName();
-
- return systemOutMap.computeIfAbsent(className, SystemOutLogger::new);
- }
-
- /**
- * loads the logger properties.
- */
- private static LoggerType initLogger() {
- var loggerType = LoggerType.EELF;
- Properties properties = null;
-
- try {
- properties = PropertyUtil.getProperties("config/policyLogger.properties");
- displayMessage("FlexLogger:properties => " + properties);
-
- String overrideLogbackLevel = properties.getProperty("override.logback.level.setup");
- displayMessage("FlexLogger:overrideLogbackLevel => " + overrideLogbackLevel);
- var loggerTypeString = properties.getProperty("logger.type");
- if ("EELF".equalsIgnoreCase(loggerTypeString) && "TRUE".equalsIgnoreCase(overrideLogbackLevel)) {
- displayMessage("FlexLogger: start listener.");
- properties = PropertyUtil.getProperties("config/policyLogger.properties",
- new PropertiesCallBack("FlexLogger-CallBack"));
- }
- } catch (IOException e1) {
- displayMessage("initLogger" + e1);
- } finally {
- // OK to pass no properties (null)
- loggerType = PolicyLogger.init(properties);
- }
-
- return loggerType;
- }
-
- /**
- * PropertiesCallBack is listening any updates on the policyLogger.properties
- */
- public static class PropertiesCallBack implements Listener {
- String name;
-
- public PropertiesCallBack(String name) {
- this.name = name;
- }
-
- /**
- * This method will be called automatically if he policyLogger.properties got updated
- */
- @Override
- public void propertiesChanged(Properties properties, Set<String> changedKeys) {
-
- String debugLevel = properties.getProperty("debugLogger.level");
- String metricsLevel = properties.getProperty("metricsLogger.level");
- String auditLevel = properties.getProperty("audit.level");
- String errorLevel = properties.getProperty("error.level");
-
- var sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS+00:00");
- var startTime = Instant.now();
- String formattedTime = sdf.format(Date.from(startTime));
- displayMessage("FlexLogger.propertiesChanged : called at time : " + formattedTime);
- displayMessage("FlexLogger.propertiesChanged : debugLevel : " + debugLevel);
-
- if (changedKeys != null) {
-
- if (changedKeys.contains("debugLogger.level")) {
- PolicyLogger.setDebugLevel(debugLevel);
- }
-
- if (changedKeys.contains("metricsLogger.level")) {
- PolicyLogger.setMetricsLevel(metricsLevel);
- }
-
- if (changedKeys.contains("error.level")) {
- PolicyLogger.setErrorLevel(errorLevel);
- }
-
- if (changedKeys.contains("audit.level")) {
- PolicyLogger.setAuditLevel(auditLevel);
- }
- }
- }
- }
-}
diff --git a/common-logging/src/main/java/org/onap/policy/common/logging/flexlogger/Logger.java b/common-logging/src/main/java/org/onap/policy/common/logging/flexlogger/Logger.java
deleted file mode 100644
index ad155a4c..00000000
--- a/common-logging/src/main/java/org/onap/policy/common/logging/flexlogger/Logger.java
+++ /dev/null
@@ -1,249 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP-Logging
- * ================================================================================
- * Copyright (C) 2017-2020 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.flexlogger;
-
-import java.util.UUID;
-import org.onap.policy.common.logging.eelf.MessageCodes;
-
-/**
- * Interface Logger - implemented by Logger4J, EelfLogger and SystemOutLogger.
- *
- */
-public interface Logger {
-
- /**
- * Prints messages with the level.DEBUG
- */
- public void debug(Object message);
-
- /**
- * Prints messages with the level.DEBUG
- */
- public void debug(Object message, Throwable throwable);
-
- /**
- * Prints messages with the level.DEBUG
- */
- public void debug(String message, Object... arguments);
-
- /**
- * Prints messages with the level.ERROR
- */
- public void error(Object message);
-
- /**
- * Prints messages with the level.ERROR
- */
- public void error(Object message, Throwable throwable);
-
- /**
- * Prints messages with the level.ERROR
- */
- public void error(MessageCodes msg, String... arguments);
-
- /**
- * Prints messages with the level.ERROR
- */
- public void error(MessageCodes msg, Throwable arg0, String... arguments);
-
- /**
- * Prints messages with the level.ERROR
- */
- public void error(String message, Object... arguments);
-
- /**
- * Prints messages with the level.INFO
- */
- public void info(Object message);
-
- /**
- * Prints messages with the level.INFO
- */
- public void info(Object message, Throwable throwable);
-
- /**
- * Prints messages with the level.INFO
- */
- public void info(String message, Object... arguments);
-
- /**
- * Prints messages with the level.WARN
- */
- public void warn(Object message);
-
- /**
- * Prints messages with the level.WARN
- */
- public void warn(Object message, Throwable throwable);
-
- /**
- * Prints messages with the level.WARN
- */
- public void warn(MessageCodes msg, String... arguments);
-
- /**
- * Prints messages with the level.WARN
- */
- public void warn(MessageCodes msg, Throwable arg0, String... arguments);
-
- /**
- * Prints messages with the level.WARN
- */
- public void warn(String message, Object... arguments);
-
- /**
- * Prints messages with the level.TRACE
- */
- public void trace(Object message);
-
- /**
- * Prints messages with the level.TRACE
- */
- public void trace(Object message, Throwable throwable);
-
- /**
- * Prints messages in audit log with the level.INFO
- */
- public void audit(Object arg0);
-
- /**
- * Prints messages in audit log with the level.INFO
- */
- public void audit(Object arg0, Throwable throwable);
-
- /**
- * Prints messages in audit log with the level.INFO
- */
- public void audit(String message, Object... arguments);
-
- /**
- * Records event Id in audit log with the level.INFO
- */
- public void recordAuditEventStart(String eventId);
-
- /**
- * Records the starting time of the event with its request Id as the key.
- */
- public void recordAuditEventStart(UUID eventId);
-
- /**
- * Records the ending time of the event with its request Id as the key.
- */
- public void recordAuditEventEnd(String eventId, String rule, String policyVersion);
-
- /**
- * Records the ending time of the event with its request Id as the key.
- */
- public void recordAuditEventEnd(UUID eventId, String rule, String policyVersion);
-
- /**
- * Records the ending time of the event with its request Id as the key.
- */
- public void recordAuditEventEnd(String eventId, String rule);
-
- /**
- * Records the ending time of the event with its request Id as the key.
- */
- public void recordAuditEventEnd(UUID eventId, String rule);
-
-
- /**
- * Records the Metrics with event Id and log message.
- */
- public void recordMetricEvent(String eventId, String arg1);
-
- /**
- * Records the Metrics with event Id and log message.
- */
- public void recordMetricEvent(UUID eventId, String arg1);
-
- /**
- * Records the Metrics log message.
- */
- public void metrics(Object arg0);
-
- /**
- * Records the Metrics log message.
- */
- public void metrics(String message, Object... arguments);
-
- /**
- * Returns a boolean value, true for debug logging enabled, false for not enabled.
- */
- public boolean isDebugEnabled();
-
- /**
- * Returns a boolean value, true for error logging enabled, false for not enabled.
- */
- public boolean isErrorEnabled();
-
- /**
- * Returns a boolean value, true for warn logging enabled, false for not enabled.
- */
- public boolean isWarnEnabled();
-
- /**
- * Returns a boolean value, true for info logging enabled, false for not enabled.
- */
- public boolean isInfoEnabled();
-
- /**
- * Returns a boolean value, true for error logging enabled, false for not enabled.
- */
- public boolean isAuditEnabled();
-
- /**
- * Returns a boolean value, true for warn logging enabled, false for not enabled.
- */
- public boolean isMetricsEnabled();
-
- /**
- * Returns a boolean value, true for trace logging enabled, false for not enabled.
- */
- public boolean isTraceEnabled();
-
-
- /**
- * Populates MDC info.
- */
- public String postMdcInfoForEvent(String transId);
-
- /**
- * Populates MDC Info.
- */
- public void postMdcInfoForEvent(Object obj);
-
- /**
- * Sets transaction Id.
- */
- public void setTransId(String transId);
-
- /**
- * Returns transaction Id.
- */
- String getTransId();
-
- /**
- * Populates MDC Info for the rule triggered.
- */
- public void postMdcInfoForTriggeredRule(String transId);
-
-}
diff --git a/common-logging/src/main/java/org/onap/policy/common/logging/flexlogger/LoggerType.java b/common-logging/src/main/java/org/onap/policy/common/logging/flexlogger/LoggerType.java
deleted file mode 100644
index f73bc4bc..00000000
--- a/common-logging/src/main/java/org/onap/policy/common/logging/flexlogger/LoggerType.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP-Logging
- * ================================================================================
- * Copyright (C) 2017-2020 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.flexlogger;
-
-/**
- * Logger types.
- */
-public enum LoggerType {
- EELF, SYSTEMOUT
-}
diff --git a/common-logging/src/main/java/org/onap/policy/common/logging/flexlogger/PropertyUtil.java b/common-logging/src/main/java/org/onap/policy/common/logging/flexlogger/PropertyUtil.java
deleted file mode 100644
index ef6c2e95..00000000
--- a/common-logging/src/main/java/org/onap/policy/common/logging/flexlogger/PropertyUtil.java
+++ /dev/null
@@ -1,340 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP-Logging
- * ================================================================================
- * 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.
- * 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.flexlogger;
-
-import static org.onap.policy.common.logging.flexlogger.DisplayUtils.displayErrorMessage;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.Properties;
-import java.util.Set;
-import java.util.Timer;
-import java.util.TimerTask;
-import lombok.AccessLevel;
-import lombok.NoArgsConstructor;
-
-/**
- * This class provides utilities to read properties from a properties file, and optionally get
- * notifications of future changes.
- */
-public final class PropertyUtil {
-
-
- @NoArgsConstructor(access = AccessLevel.PRIVATE)
- protected static class LazyHolder {
- /**
- * Timer thread. Will not be allocated by the JVM until it is first referenced.
- * This may be overridden by junit tests.
- */
- private static Timer timer = new Timer("PropertyUtil-Timer", true);
- }
-
- // this table maps canonical file into a 'ListenerRegistration' instance
- private static HashMap<File, ListenerRegistration> registrations = new HashMap<>();
-
- /**
- * Read in a properties file.
- *
- * @param file the properties file
- * @return a Properties object, containing the associated properties
- * @throws IOException - subclass 'FileNotFoundException' if the file does not exist or can't be
- * opened, and 'IOException' if there is a problem loading the properties file.
- */
- public static Properties getProperties(File file) throws IOException {
- // create an InputStream (may throw a FileNotFoundException)
- try (var fis = new FileInputStream(file)) {
- // create the properties instance
- var rval = new Properties();
-
- // load properties (may throw an IOException)
- rval.load(fis);
- return rval;
- }
- }
-
- /**
- * Read in a properties file.
- *
- * @param fileName the properties file
- * @return a Properties object, containing the associated properties
- * @throws IOException - subclass 'FileNotFoundException' if the file does not exist or can't be
- * opened, and 'IOException' if there is a problem loading the properties file.
- */
- public static Properties getProperties(String fileName) throws IOException {
- return getProperties(new File(fileName));
- }
-
- /* ============================================================ */
-
- /**
- * This is the callback interface, used for sending notifications of changes in the properties
- * file.
- */
- @FunctionalInterface
- public interface Listener {
- /**
- * Notification of a properties file change.
- *
- * @param properties the new properties
- * @param changedKeys the set of property names that have changed, including additions and
- * removals
- */
- void propertiesChanged(Properties properties, Set<String> changedKeys);
- }
-
- /**
- * This is an internal class - one instance of this exists for each property file that is being
- * monitored. Note that multiple listeners can be registered for the same file.
- */
- private static class ListenerRegistration {
- // the canonical path of the file being monitored
- File file;
-
- // the most recent value of 'file.lastModified()'
- long lastModified;
-
- // the most recent set of properties
- Properties properties;
-
- // the set of listeners monitoring this file
- LinkedList<Listener> listeners;
-
- // the 'TimerTask' instance, used for periodic polling
- TimerTask timerTask;
-
- /**
- * Constructor - create a 'ListenerRegistration' instance for this file, but with no
- * listeners.
- */
- ListenerRegistration(File file) throws IOException {
- this.file = file;
-
- // The initial value of 'lastModified' is set to 0 to ensure that we
- // correctly handle the case where the file is modified within the
- // same second that polling begins.
- lastModified = 0;
-
- // fetch current properties
- properties = getProperties(file);
-
- // no listeners yet
- listeners = new LinkedList<>();
-
- // add to static table, so this instance can be shared
- registrations.put(file, this);
-
- // create and schedule the timer task, so this is periodically polled
- timerTask = new TimerTask() {
- @Override
- public void run() {
- try {
- poll();
- } catch (Exception e) {
- displayErrorMessage(e);
- }
- }
- };
- LazyHolder.timer.schedule(timerTask, 10000L, 10000L);
- }
-
- /**
- * Add a listener to the notification list.
- *
- * @param listener this is the listener to add to the list
- * @return the properties at the moment the listener was added to the list
- */
- synchronized Properties addListener(Listener listener) {
- listeners.add(listener);
- return (Properties) properties.clone();
- }
-
- /**
- * Remove a listener from the notification list.
- *
- * @param listener this is the listener to remove
- */
- synchronized void removeListener(Listener listener) {
- listeners.remove(listener);
-
- // See if we need to remove this 'ListenerRegistration' instance
- // from the table. The 'synchronized' block is needed in case
- // another listener is being added at about the same time that this
- // one is being removed.
- synchronized (registrations) {
- if (listeners.isEmpty()) {
- timerTask.cancel();
- registrations.remove(file);
- }
- }
- }
-
- /**
- * This method is periodically called to check for property list updates.
- *
- * @throws IOException if there is an error in reading the properties file
- */
- synchronized void poll() throws IOException {
- long timestamp = file.lastModified();
- if (timestamp != lastModified) {
- // update the record, and send out the notifications
- lastModified = timestamp;
-
- // Save old set, and initial set of changed properties.
- var oldProperties = properties;
- HashSet<String> changedProperties = new HashSet<>(oldProperties.stringPropertyNames());
-
- // Fetch the list of listeners that we will potentially notify,
- // and the new properties. Note that this is in a 'synchronized'
- // block to ensure that all listeners receiving notifications
- // actually have a newer list of properties than the one
- // returned on the initial 'getProperties' call.
- properties = getProperties(file);
-
- Set<String> newPropertyNames = properties.stringPropertyNames();
- changedProperties.addAll(newPropertyNames);
-
- // At this point, 'changedProperties' is the union of all properties
- // in both the old and new properties files. Iterate through all
- // of the entries in the new properties file - if the entry
- // matches the one in the old file, remove it from
- // 'changedProperties'.
- for (String name : newPropertyNames) {
- if (properties.getProperty(name).equals(oldProperties.getProperty(name))) {
- // Apparently, any property that exists must be of type
- // 'String', and can't be null. For this reason, we don't
- // need to worry about the case where
- // 'properties.getProperty(name)' returns 'null'. Note that
- // 'oldProperties.getProperty(name)' may be 'null' if the
- // old property does not exist.
- changedProperties.remove(name);
- }
- }
-
- // 'changedProperties' should be correct at this point
- if (!changedProperties.isEmpty()) {
- // there were changes - notify everyone in 'listeners'
- for (final Listener notify : listeners) {
- // Copy 'properties' and 'changedProperties', so it doesn't
- // cause problems if the recipient makes changes.
- final var tmpProperties = (Properties) (properties.clone());
- final HashSet<String> tmpChangedProperties = new HashSet<>(changedProperties);
-
- // Do the notification in a separate thread, so blocking
- // won't cause any problems.
- new Thread() {
- @Override
- public void run() {
- notify.propertiesChanged(tmpProperties, tmpChangedProperties);
- }
- }.start();
- }
- }
- }
- }
- }
-
- /**
- * Read in a properties file, and register for update notifications. NOTE: it is possible that
- * the first callback will occur while this method is still in progress. To avoid this problem,
- * use 'synchronized' blocks around this invocation and in the callback -- that will ensure that
- * the processing of the initial properties complete before any updates are processed.
- *
- * @param file the properties file
- * @param listener notify if not null, this is a callback interface that is used for
- * notifications of changes
- * @return a Properties object, containing the associated properties
- * @throws IOException - subclass 'FileNotFoundException' if the file does not exist or can't be
- * opened, and 'IOException' if there is a problem loading the properties file.
- */
- public static Properties getProperties(File file, Listener listener) throws IOException {
- if (listener == null) {
- // no listener specified -- just fetch the properties
- return getProperties(file);
- }
-
- // Convert the file to a canonical form in order to avoid the situation
- // where different names refer to the same file.
- var tempFile = file.getCanonicalFile();
-
- // See if there is an existing registration. The 'synchronized' block
- // is needed to handle the case where a new listener is added at about
- // the same time that another one is being removed.
- synchronized (registrations) {
- ListenerRegistration reg = registrations.get(tempFile);
- if (reg == null) {
- // a new registration is needed
- reg = new ListenerRegistration(tempFile);
- }
- return reg.addListener(listener);
- }
- }
-
- /**
- * Read in a properties file, and register for update notifications. NOTE: it is possible that
- * the first callback will occur while this method is still in progress. To avoid this problem,
- * use 'synchronized' blocks around this invocation and in the callback -- that will ensure that
- * the processing of the initial properties complete before any updates are processed.
- *
- * @param fileName the properties file
- * @param listener notify if not null, this is a callback interface that is used for
- * notifications of changes
- * @return a Properties object, containing the associated properties
- * @throws IOException - subclass 'FileNotFoundException' if the file does not exist or can't be
- * opened, and 'IOException' if there is a problem loading the properties file.
- */
- public static Properties getProperties(String fileName, Listener listener) throws IOException {
- return getProperties(new File(fileName), listener);
- }
-
- /**
- * Stop listenening for updates.
- *
- * @param file the properties file
- * @param listener notify if not null, this is a callback interface that was used for
- * notifications of changes
- * @throws IOException If an I/O error occurs
- */
- public static void stopListening(File file, Listener listener) throws IOException {
- if (listener != null) {
- ListenerRegistration reg = registrations.get(file.getCanonicalFile());
- if (reg != null) {
- reg.removeListener(listener);
- }
- }
- }
-
- /**
- * Stop listenening for updates.
- *
- * @param fileName the properties file
- * @param listener notify if not null, this is a callback interface that was used for
- * notifications of changes
- * @throws IOException If an I/O error occurs
- */
- public static void stopListening(String fileName, Listener listener) throws IOException {
- stopListening(new File(fileName), listener);
- }
-
-}
diff --git a/common-logging/src/main/java/org/onap/policy/common/logging/flexlogger/SystemOutLogger.java b/common-logging/src/main/java/org/onap/policy/common/logging/flexlogger/SystemOutLogger.java
deleted file mode 100644
index d16a1d7a..00000000
--- a/common-logging/src/main/java/org/onap/policy/common/logging/flexlogger/SystemOutLogger.java
+++ /dev/null
@@ -1,548 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * ONAP-Logging
- * ================================================================================
- * 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.
- * 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.flexlogger;
-
-import static org.onap.policy.common.logging.flexlogger.DisplayUtils.displayMessage;
-
-import com.att.eelf.configuration.EELFLogger.Level;
-import java.io.Serializable;
-import java.util.Arrays;
-import java.util.UUID;
-import lombok.Getter;
-import org.onap.policy.common.logging.OnapLoggingUtils;
-import org.onap.policy.common.logging.eelf.MessageCodes;
-import org.onap.policy.common.logging.eelf.PolicyLogger;
-
-/**
- * SystemOutLogger implements all the methods of interface Logger by calling System.out.println
- */
-@Getter
-public class SystemOutLogger implements Logger, Serializable {
-
- private static final long serialVersionUID = 4956408061058933929L;
- private String className = "";
- private boolean debugEnabled = true;
- private boolean infoEnabled = true;
- private boolean warnEnabled = true;
- private boolean errorEnabled = true;
- private boolean auditEnabled = true;
- private boolean metricsEnabled = true;
- private String transId = UUID.randomUUID().toString();
-
- /**
- * Constructor.
- *
- * @param clazz the class
- */
- public SystemOutLogger(Class<?> clazz) {
- displayMessage("create instance of SystemOutLogger");
- if (clazz != null) {
- className = clazz.getName();
- }
- initLevel();
- }
-
- /**
- * Constructor.
- *
- * @param className the class name
- */
- public SystemOutLogger(String className) {
- displayMessage("create instance of SystemOutLogger");
- if (className != null) {
- this.className = className;
- }
- initLevel();
- }
-
- /**
- * Sets logging levels.
- */
- private void initLevel() {
-
- if (PolicyLogger.getDebugLevel() == Level.DEBUG) {
- debugEnabled = true;
- infoEnabled = true;
- warnEnabled = true;
- } else {
- debugEnabled = false;
- }
-
- if (PolicyLogger.getDebugLevel() == Level.INFO) {
- infoEnabled = true;
- warnEnabled = true;
- debugEnabled = false;
- }
-
- if (PolicyLogger.getDebugLevel() == Level.OFF) {
- infoEnabled = false;
- warnEnabled = false;
- debugEnabled = false;
- }
-
- if (PolicyLogger.getErrorLevel() == Level.OFF) {
- errorEnabled = false;
- }
-
- if (PolicyLogger.getAuditLevel() == Level.OFF) {
- auditEnabled = false;
- }
-
- if (PolicyLogger.getMetricsLevel() == Level.OFF) {
- metricsEnabled = false;
- }
- }
-
- /**
- * Sets transaction Id.
- */
- @Override
- public void setTransId(String transId) {
-
- displayMessage(transId);
- this.transId = transId;
- }
-
- /**
- * Records a message.
- *
- * @param message the message
- */
- @Override
- public void debug(Object message) {
-
- displayMessage(transId + "|" + className + " : " + message);
- }
-
- /**
- * Records a message.
- *
- * @param message the message
- * @param throwable the throwable
- */
- @Override
- public void debug(Object message, Throwable throwable) {
- displayMessage(transId + "|" + className + " : " + message + ":" + throwable);
- }
-
- /**
- * Records a message.
- *
- * @param message the message
- * @param arguments variable number of arguments
- */
- @Override
- public void debug(String message, Object...arguments) {
- if (arguments.length == 1 && OnapLoggingUtils.isThrowable(arguments[0])) {
- displayMessage(transId + "|" + className + " : " + message + ":" + arguments[0]);
- } else {
- displayMessage(OnapLoggingUtils.formatMessage(message, arguments));
- }
- }
-
- /**
- * Records an error message.
- *
- * @param message the message
- */
- @Override
- public void error(Object message) {
-
- displayMessage(transId + "|" + className + " : " + message);
- }
-
- /**
- * Records an error message.
- *
- * @param message the message
- * @param throwable the throwable
- */
- @Override
- public void error(Object message, Throwable throwable) {
- displayMessage(transId + "|" + className + " : " + message + ":" + throwable);
- }
-
- /**
- * Records an error message.
- *
- * @param msg the message code
- * @param throwable the throwable
- * @param arguments the messages
- */
- @Override
- public void error(MessageCodes msg, Throwable throwable, String... arguments) {
- displayMessage(className + " : " + "MessageCodes :" + msg + Arrays.asList(arguments));
- }
-
- /**
- * Records an error message.
- *
- * @param msg the message code
- * @param arguments the messages
- */
- @Override
- public void error(MessageCodes msg, String... arguments) {
- displayMessage(transId + "|" + className + " : " + "MessageCode:" + msg + Arrays.asList(arguments));
- }
-
- /**
- * Records a error message.
- *
- * @param message the message
- * @param arguments variable number of arguments
- */
- @Override
- public void error(String message, Object...arguments) {
- if (arguments.length == 1 && OnapLoggingUtils.isThrowable(arguments[0])) {
- displayMessage(transId + "|" + className + " : " + message + ":" + arguments[0]);
- } else {
- displayMessage(OnapLoggingUtils.formatMessage(message, arguments));
- }
- }
-
- /**
- * Records a message.
- *
- * @param message the message
- */
- @Override
- public void info(Object message) {
- displayMessage(transId + "|" + className + " : " + message);
- }
-
- /**
- * Records a message.
- *
- * @param message the message
- * @param throwable the throwable
- */
- @Override
- public void info(Object message, Throwable throwable) {
- displayMessage(transId + "|" + className + " : " + message + ":" + throwable);
- }
-
- /**
- * Records a message.
- *
- * @param message the message
- * @param arguments variable number of arguments
- */
- @Override
- public void info(String message, Object...arguments) {
- if (arguments.length == 1 && OnapLoggingUtils.isThrowable(arguments[0])) {
- displayMessage(transId + "|" + className + " : " + message + ":" + arguments[0]);
- } else {
- displayMessage(OnapLoggingUtils.formatMessage(message, arguments));
- }
- }
-
- /**
- * Records a message.
- *
- * @param message the message
- */
- @Override
- public void warn(Object message) {
- displayMessage(transId + "|" + className + " : " + message);
- }
-
- /**
- * Records a message.
- *
- * @param msg the message code
- * @param arguments the messages
- */
- @Override
- public void warn(MessageCodes msg, String... arguments) {
-
- displayMessage(transId + "|" + className + " : " + "MessageCodes:" + msg + Arrays.asList(arguments));
- }
-
- /**
- * Records a message.
- *
- * @param message the message
- * @param throwable the throwable
- */
- @Override
- public void warn(Object message, Throwable throwable) {
- displayMessage(transId + "|" + className + " : " + message + ":" + throwable);
- }
-
- /**
- * Records a message.
- *
- * @param msg the message code
- * @param throwable the throwable
- * @param arguments the messages
- */
- @Override
- public void warn(MessageCodes msg, Throwable throwable, String... arguments) {
-
- displayMessage(transId + "|" + className + " : " + "MessageCodes:" + msg + Arrays.asList(arguments));
-
- }
-
- /**
- * Records a message.
- *
- * @param message the message
- * @param arguments variable number of arguments
- */
- @Override
- public void warn(String message, Object...arguments) {
- if (arguments.length == 1 && OnapLoggingUtils.isThrowable(arguments[0])) {
- displayMessage(transId + "|" + className + " : " + message + ":" + arguments[0]);
- } else {
- displayMessage(OnapLoggingUtils.formatMessage(message, arguments));
- }
- }
-
- /**
- * Records a message.
- *
- * @param message the message
- */
- @Override
- public void trace(Object message) {
- displayMessage(transId + "|" + className + " : " + message);
- }
-
- /**
- * Records a message.
- *
- * @param message the message
- * @param throwable the throwable
- */
- @Override
- public void trace(Object message, Throwable throwable) {
- displayMessage(transId + "|" + className + " : " + message + ":" + throwable);
- }
-
- /**
- * Records an audit message.
- *
- * @param message the message
- */
- @Override
- public void audit(Object message) {
-
- displayMessage(transId + "|" + className + " : " + message);
- }
-
- /**
- * Records an audit message.
- *
- * @param message the message
- * @param throwable the throwable
- */
- @Override
- public void audit(Object message, Throwable throwable) {
- displayMessage(transId + "|" + className + " : " + message + ":" + throwable);
- }
-
- /**
- * Records an audit message.
- *
- * @param message the message
- */
- @Override
- public void audit(String message, Object... arguments) {
- if (arguments.length == 1) {
- displayMessage(transId + "|" + className + " : " + message + ":" + arguments[0]);
- } else {
- displayMessage(OnapLoggingUtils.formatMessage(message, arguments));
- }
- }
-
- /**
- * Records an audit message.
- *
- * @param eventId the event ID
- */
- @Override
- public void recordAuditEventStart(String eventId) {
-
- displayMessage(transId + "|" + className + " : " + eventId);
-
- }
-
- /**
- * Records an audit message.
- *
- * @param eventId the event ID
- */
- @Override
- public void recordAuditEventStart(UUID eventId) {
-
- displayMessage(eventId);
- }
-
- /**
- * Records an audit message.
- *
- * @param eventId the event ID
- * @param rule the rule
- * @param policyVersion the policy version
- */
- @Override
- public void recordAuditEventEnd(String eventId, String rule, String policyVersion) {
-
- displayMessage(className + " : " + eventId + ":" + rule + ":" + policyVersion);
- }
-
- /**
- * Records an audit message.
- *
- * @param eventId the event ID
- * @param rule the rule
- * @param policyVersion the policy version
- */
- @Override
- public void recordAuditEventEnd(UUID eventId, String rule, String policyVersion) {
-
- displayMessage(className + " : " + eventId + ":" + rule + ":" + policyVersion);
- }
-
- /**
- * Records an audit message.
- *
- * @param eventId the event ID
- * @param rule the rule
- */
- @Override
- public void recordAuditEventEnd(String eventId, String rule) {
-
- displayMessage(className + " : " + eventId + ":" + rule);
- }
-
- /**
- * Records an audit message.
- *
- * @param eventId the event ID
- * @param rule the rule
- */
- @Override
- public void recordAuditEventEnd(UUID eventId, String rule) {
-
- displayMessage(className + " : " + eventId + ":" + rule);
- }
-
- /**
- * Records a metrics message.
- *
- * @param eventId the event ID
- * @param message the message
- */
- @Override
- public void recordMetricEvent(String eventId, String message) {
-
- displayMessage(className + " : " + "eventId:" + eventId + "message:" + message);
-
- }
-
- /**
- * Records a metrics message.
- *
- * @param eventId the event ID
- * @param message the message
- */
- @Override
- public void recordMetricEvent(UUID eventId, String message) {
-
- displayMessage(className + " : " + eventId + ":" + message);
- }
-
- /**
- * Records a metrics message.
- *
- * @param message the message
- */
- @Override
- public void metrics(Object message) {
-
- displayMessage(className + " : " + message);
- }
-
- /**
- * Records a metrics message.
- *
- * @param message the message
- * @param arguments the arguments
- */
- @Override
- public void metrics(String message, Object... arguments) {
- if (arguments.length == 1) {
- displayMessage(className + " : " + message + " : " + arguments[0]);
- } else {
- displayMessage(OnapLoggingUtils.formatMessage(message, arguments));
- }
- }
-
- /**
- * Returns transaction Id.
- *
- * @param transId the transaction ID
- */
- @Override
- public String postMdcInfoForEvent(String transId) {
-
- String transactionId = transId;
- if (transactionId == null || transactionId.isEmpty()) {
- transactionId = UUID.randomUUID().toString();
- }
-
- return transactionId;
- }
-
- /**
- * Records transaction Id.
- *
- * @param message the message
- */
- @Override
- public void postMdcInfoForEvent(Object message) {
- displayMessage(message);
- }
-
-
- /**
- * Returns true for trace enabled, or false for not.
- *
- * @return boolean
- */
- @Override
- public boolean isTraceEnabled() {
- // default
- return false;
- }
-
- /**
- * Records transaction Id.
- *
- * @param transId the transaction ID
- */
- @Override
- public void postMdcInfoForTriggeredRule(String transId) {
-
- displayMessage(transId);
- }
-}
diff --git a/common-logging/src/main/java/org/onap/policy/common/logging/nsa/LoggingContext.java b/common-logging/src/main/java/org/onap/policy/common/logging/nsa/LoggingContext.java
deleted file mode 100644
index a8dde087..00000000
--- a/common-logging/src/main/java/org/onap/policy/common/logging/nsa/LoggingContext.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP-Logging
- * ================================================================================
- * Copyright (C) 2017-2018 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.nsa;
-
-/**
- * An interface for providing data into the underlying logging context. Systems should use this
- * interface rather than log system specific MDC solutions in order to reduce dependencies.
- *
- * <p>A LoggingContext is specific to the calling thread.
- *
- */
-public interface LoggingContext {
- /**
- * Put a key/value pair into the logging context, replacing an entry with the same key.
- *
- * @param key the key
- * @param value the value
- */
- void put(String key, String value);
-
- /**
- * Put a key/value pair into the logging context, replacing an entry with the same key.
- *
- * @param key the key
- * @param value the value
- */
- void put(String key, long value);
-
- /**
- * Get a string value, returning the default value if the value is missing.
- *
- * @param key the key
- * @param defaultValue the default value
- * @return a string value
- */
- String get(String key, String defaultValue);
-
- /**
- * Get a long value, returning the default value if the value is missing or not a long.
- *
- * @param key the key
- * @param defaultValue the default value
- * @return a long value
- */
- long get(String key, long defaultValue);
-}
diff --git a/common-logging/src/main/java/org/onap/policy/common/logging/nsa/LoggingContextFactory.java b/common-logging/src/main/java/org/onap/policy/common/logging/nsa/LoggingContextFactory.java
deleted file mode 100644
index eb2b318e..00000000
--- a/common-logging/src/main/java/org/onap/policy/common/logging/nsa/LoggingContextFactory.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP-Logging
- * ================================================================================
- * Copyright (C) 2017-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.
- * 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.nsa;
-
-import lombok.AccessLevel;
-import lombok.NoArgsConstructor;
-import org.onap.policy.common.logging.nsa.impl.SharedContext;
-import org.onap.policy.common.logging.nsa.impl.Slf4jLoggingContext;
-
-/**
- * A factory for setting up a LoggingContext.
- *
- */
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
-public class LoggingContextFactory {
- public static class Builder {
-
- private LoggingContext baseContext = null;
- private boolean forShared = false;
-
- public Builder withBaseContext(LoggingContext lc) {
- baseContext = lc;
- return this;
- }
-
- public Builder forSharing() {
- forShared = true;
- return this;
- }
-
- public LoggingContext build() {
- return forShared ? new SharedContext(baseContext) : new Slf4jLoggingContext(baseContext);
- }
- }
-}
diff --git a/common-logging/src/main/java/org/onap/policy/common/logging/nsa/SharedLoggingContext.java b/common-logging/src/main/java/org/onap/policy/common/logging/nsa/SharedLoggingContext.java
deleted file mode 100644
index 1d844fa0..00000000
--- a/common-logging/src/main/java/org/onap/policy/common/logging/nsa/SharedLoggingContext.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP-Logging
- * ================================================================================
- * Copyright (C) 2017-2018 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.nsa;
-
-/**
- * A logging context must be thread-specific. Contexts that implement SharedLoggingContext are
- * expected to be shared across threads, and they have to be able to populate another logging
- * context with their data.
- *
- */
-public interface SharedLoggingContext extends LoggingContext {
- /**
- * Copy this context's data to the given context. This must work across threads so that a base
- * context can be shared in another thread.
- *
- * @param lc the shared logging context
- */
- void transferTo(SharedLoggingContext lc);
-}
diff --git a/common-logging/src/main/java/org/onap/policy/common/logging/nsa/impl/SharedContext.java b/common-logging/src/main/java/org/onap/policy/common/logging/nsa/impl/SharedContext.java
deleted file mode 100644
index 13b38fc0..00000000
--- a/common-logging/src/main/java/org/onap/policy/common/logging/nsa/impl/SharedContext.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP-Logging
- * ================================================================================
- * Copyright (C) 2017-2018, 2020 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.nsa.impl;
-
-import java.util.HashMap;
-import java.util.Map.Entry;
-import org.onap.policy.common.logging.nsa.LoggingContext;
-import org.onap.policy.common.logging.nsa.SharedLoggingContext;
-
-/**
- * A shared logging context for SLF4J.
- *
- */
-public class SharedContext extends Slf4jLoggingContext implements SharedLoggingContext {
- private final HashMap<String, String> contextMap;
-
- public SharedContext(LoggingContext base) {
- super(base);
- contextMap = new HashMap<>();
- }
-
- @Override
- public void put(String key, String value) {
- super.put(key, value);
- contextMap.put(key, value);
- }
-
- @Override
- public void transferTo(SharedLoggingContext lc) {
- for (Entry<String, String> e : contextMap.entrySet()) {
- lc.put(e.getKey(), e.getValue());
- }
- }
-}
diff --git a/common-logging/src/main/java/org/onap/policy/common/logging/nsa/impl/Slf4jLoggingContext.java b/common-logging/src/main/java/org/onap/policy/common/logging/nsa/impl/Slf4jLoggingContext.java
deleted file mode 100644
index 33e9f637..00000000
--- a/common-logging/src/main/java/org/onap/policy/common/logging/nsa/impl/Slf4jLoggingContext.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP-Logging
- * ================================================================================
- * Copyright (C) 2017-2018 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.nsa.impl;
-
-import org.onap.policy.common.logging.nsa.LoggingContext;
-import org.slf4j.MDC;
-
-/**
- * A logging context for SLF4J.
- *
- */
-public class Slf4jLoggingContext implements LoggingContext {
- public Slf4jLoggingContext(LoggingContext base) {
- // Default constructor
- }
-
- @Override
- public void put(String key, String value) {
- MDC.put(key, value);
- }
-
- @Override
- public void put(String key, long value) {
- put(key, Long.toString(value));
- }
-
- @Override
- public String get(String key, String defaultValue) {
- String result = MDC.get(key);
- if (result == null) {
- result = defaultValue;
- }
- return result;
- }
-
- @Override
- public long get(String key, long defaultValue) {
- final String str = get(key, Long.toString(defaultValue));
- try {
- return Long.parseLong(str);
- } catch (NumberFormatException x) {
- return defaultValue;
- }
- }
-}
diff --git a/common-logging/src/main/java/org/onap/policy/common/logging/nsa/package-info.java b/common-logging/src/main/java/org/onap/policy/common/logging/nsa/package-info.java
deleted file mode 100644
index 76554c49..00000000
--- a/common-logging/src/main/java/org/onap/policy/common/logging/nsa/package-info.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP-Logging
- * ================================================================================
- * Copyright (C) 2017 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=========================================================
- */
-
-/**
- * This package provides a logging context infrastructure and a corresponding implementation based
- * on the SLF4J/Log4j "MDC" (Mapped Diagnostic Context) feature.
- *
- */
-
-package org.onap.policy.common.logging.nsa;
-