Refactor property logging 68/116868/1
authorMarcin Wilk <m.wilk@samsung.com>
Thu, 14 Jan 2021 11:30:23 +0000 (12:30 +0100)
committerMarcin Wilk <m.wilk@samsung.com>
Thu, 14 Jan 2021 11:30:23 +0000 (12:30 +0100)
Log property values in a consistent way during the initialization.
Hide passwords/secrets if not at DEBUG level.

Issue-ID: APPC-1916
Signed-off-by: Marcin Wilk <m.wilk@samsung.com>
Change-Id: I89fbb1ab74001ba3ca0dc39c275c5340f700a6b1

appc-core/appc-common-bundle/src/main/java/org/onap/appc/configuration/ConfigurationFactory.java

index 3cd2a74..9570025 100644 (file)
@@ -267,6 +267,16 @@ public final class ConfigurationFactory {
         return local;
     }
 
+    private static void logPropertyValue(String key, String value) {
+        if ((!StringUtils.containsIgnoreCase(key, "pass")) && (!StringUtils.containsIgnoreCase(key, "secret"))) {
+            logger.info(Msg.PROPERTY_VALUE, key, value);
+        } else if (logger.isDebugEnabled()) {
+            logger.debug(Msg.PROPERTY_VALUE, key, value);
+        } else {
+            logger.info(Msg.PROPERTY_VALUE, key, value.replaceAll(".", "*"));
+        }
+    }
+
     /**
      * This method will clear the current configuration and then re-initialize it with the default
      * values, application-specific configuration file, user-supplied properties (if any), and then
@@ -313,10 +323,7 @@ public final class ConfigurationFactory {
                 }
             }
             for (String key : config.getProperties().stringPropertyNames()) {
-                if ((!StringUtils.containsIgnoreCase(key, "pass"))&&(!StringUtils.containsIgnoreCase(key, "secret")))
-                    logger.info(Msg.PROPERTY_VALUE, key, config.getProperty(key));
-                else
-                    logger.info(Msg.PROPERTY_VALUE, key, config.getProperty(key));
+                logPropertyValue(key, config.getProperty(key));
             }
         } else {
             logger.info(Msg.NO_DEFAULTS_FOUND, DEFAULT_PROPERTIES);
@@ -363,7 +370,7 @@ public final class ConfigurationFactory {
                     stream = new BufferedInputStream(new FileInputStream(file));
                     fileProperties.load(stream);
                     for (String key : fileProperties.stringPropertyNames()) {
-                        logger.info(Msg.PROPERTY_VALUE, key, fileProperties.getProperty(key));
+                        logPropertyValue(key, fileProperties.getProperty(key));
                         config.setProperty(key, fileProperties.getProperty(key));
                     }
                     found = true;
@@ -392,7 +399,7 @@ public final class ConfigurationFactory {
         if (props != null) {
             logger.info(Msg.LOADING_APPLICATION_OVERRIDES);
             for (String key : props.stringPropertyNames()) {
-                logger.info(Msg.PROPERTY_VALUE, key, props.getProperty(key));
+                logPropertyValue(key, props.getProperty(key));
                 config.setProperty(key, props.getProperty(key));
             }
         } else {