aboutsummaryrefslogtreecommitdiffstats
path: root/common-logging/src/main/java/org/onap/policy/common/logging/flexlogger/FlexLogger.java
diff options
context:
space:
mode:
Diffstat (limited to 'common-logging/src/main/java/org/onap/policy/common/logging/flexlogger/FlexLogger.java')
-rw-r--r--common-logging/src/main/java/org/onap/policy/common/logging/flexlogger/FlexLogger.java181
1 files changed, 36 insertions, 145 deletions
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
index 030363dc..6c301712 100644
--- 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
@@ -2,7 +2,8 @@
* ============LICENSE_START=======================================================
* ONAP-Logging
* ================================================================================
- * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
+ * 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.
@@ -29,7 +30,6 @@ 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;
@@ -40,13 +40,12 @@ 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, Logger4J> logger4JMap = new ConcurrentHashMap<>();
private static ConcurrentHashMap<String, EelfLogger> eelfLoggerMap = new ConcurrentHashMap<>();
private static ConcurrentHashMap<String, SystemOutLogger> systemOutMap = new ConcurrentHashMap<>();
// --- init logger first
static {
- loggerType = initlogger();
+ loggerType = initLogger();
}
/**
@@ -55,103 +54,41 @@ public class FlexLogger extends SecurityManager {
* @param clazz the class
*/
public static Logger getLogger(Class<?> clazz) {
- Logger logger = null;
- displayMessage(GET_LOGGER_PREFIX + loggerType);
- switch (loggerType) {
-
- case EELF:
- logger = getEelfLogger(clazz, false);
- break;
- case LOG4J:
- logger = getLog4JLogger();
- break;
- case SYSTEMOUT:
- default:
- logger = getSystemOutLogger();
- break;
- }
-
- return logger;
-
+ return getLogger(clazz, false);
}
/**
* Returns an instance of Logger.
- *
- * @param name the name of the logger
*/
- public static Logger getLogger(String name) {
- Logger logger = null;
- displayMessage(GET_LOGGER_PREFIX + loggerType);
- switch (loggerType) {
-
- case EELF:
- logger = getEelfLogger(null, false);
- break;
- case LOG4J:
- logger = getLog4JLogger(name);
- break;
- case SYSTEMOUT:
- default:
- logger = getSystemOutLogger();
- break;
- }
-
- return logger;
-
+ public static Logger getLogger() {
+ return getLogger(null);
}
/**
* Returns an instance of Logger.
*
- * @param clazz the class
+ * @param clazz the class
* @param isNewTransaction is a new transaction
*/
public static Logger getLogger(Class<?> clazz, boolean isNewTransaction) {
- Logger logger = null;
+ Logger logger;
displayMessage(GET_LOGGER_PREFIX + loggerType);
- switch (loggerType) {
-
- case EELF:
- logger = getEelfLogger(clazz, isNewTransaction);
- break;
- case LOG4J:
- logger = getLog4JLogger();
- break;
- case SYSTEMOUT:
- default:
- logger = getSystemOutLogger();
- break;
+ if (loggerType == LoggerType.EELF) {
+ logger = getEelfLogger(clazz, isNewTransaction);
+ } else {
+ logger = getSystemOutLogger();
}
return logger;
-
}
/**
* Returns an instance of Logger.
*
- * @param name the name of the logger
* @param isNewTransaction is a new transaction
*/
- public static Logger getLogger(String name, boolean isNewTransaction) {
- Logger logger = null;
- displayMessage(GET_LOGGER_PREFIX + loggerType);
- switch (loggerType) {
-
- case EELF:
- logger = getEelfLogger(null, isNewTransaction);
- break;
- case LOG4J:
- logger = getLog4JLogger(name);
- break;
- case SYSTEMOUT:
- default:
- logger = getSystemOutLogger();
- break;
- }
-
- return logger;
+ public static Logger getLogger(boolean isNewTransaction) {
+ return getLogger(null, isNewTransaction);
}
/**
@@ -163,40 +100,9 @@ public class FlexLogger extends SecurityManager {
}
/**
- * Returns an instance of Logger4J.
- */
- private static Logger4J getLog4JLogger() {
- String className = new FlexLogger().getClassName();
-
- if (!logger4JMap.containsKey(className)) {
- // for 1610 release use the default debug.log for log4j
- Logger4J logger = new Logger4J("debugLogger", className);
- logger4JMap.put(className, logger);
- }
-
- return logger4JMap.get(className);
- }
-
- /**
- * Returns an instance of Logger4J.
- *
- * @param name the name of the logger
- */
- private static Logger4J getLog4JLogger(String name) {
- String className = new FlexLogger().getClassName();
-
- if (!logger4JMap.containsKey(className)) {
- Logger4J logger = new Logger4J(name, className);
- logger4JMap.put(className, logger);
- }
-
- return logger4JMap.get(className);
- }
-
- /**
* Returns an instance of EelfLogger.
*
- * @param clazz the class
+ * @param clazz the class
* @param isNewTransaction is a new transaction
*/
private static EelfLogger getEelfLogger(Class<?> clazz, boolean isNewTransaction) {
@@ -209,21 +115,13 @@ public class FlexLogger extends SecurityManager {
className = new FlexLogger().getClassName();
}
- if (!eelfLoggerMap.containsKey(className)) {
- logger = new EelfLogger(clazz, isNewTransaction);
- eelfLoggerMap.put(className, logger);
- } else {
- logger = eelfLoggerMap.get(className);
- if (logger == null) {
- logger = new EelfLogger(clazz, isNewTransaction);
- eelfLoggerMap.put(className, logger);
- }
- // installl already created but it is new transaction
- if (isNewTransaction) {
- String transId = PolicyLogger.postMdcInfoForEvent(null);
- logger.setTransId(transId);
- }
+ 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;
}
@@ -235,37 +133,30 @@ public class FlexLogger extends SecurityManager {
String className = new FlexLogger().getClassName();
- if (!systemOutMap.containsKey(className)) {
- SystemOutLogger logger = new SystemOutLogger(className);
- systemOutMap.put(className, logger);
- }
-
- return systemOutMap.get(className);
+ return systemOutMap.computeIfAbsent(className, SystemOutLogger::new);
}
/**
* loads the logger properties.
*/
- private static LoggerType initlogger() {
- LoggerType loggerType = LoggerType.EELF;
+ private static LoggerType initLogger() {
+ var loggerType = LoggerType.EELF;
Properties properties = null;
try {
properties = PropertyUtil.getProperties("config/policyLogger.properties");
displayMessage("FlexLogger:properties => " + properties);
- if (properties != null) {
- String overrideLogbackLevel = properties.getProperty("override.logback.level.setup");
- displayMessage("FlexLogger:overrideLogbackLevel => " + overrideLogbackLevel);
- String 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"));
- }
+ 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);
+ displayMessage("initLogger" + e1);
} finally {
// OK to pass no properties (null)
loggerType = PolicyLogger.init(properties);
@@ -295,10 +186,10 @@ public class FlexLogger extends SecurityManager {
String auditLevel = properties.getProperty("audit.level");
String errorLevel = properties.getProperty("error.level");
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS+00:00");
- Instant startTime = Instant.now();
- String formatedTime = sdf.format(Date.from(startTime));
- displayMessage("FlexLogger.propertiesChanged : called at time : " + formatedTime);
+ 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) {