diff --git a/examples/snippets/src/main/java/utils/Settings.java b/examples/snippets/src/main/java/utils/Settings.java index 361fb8f50..7482e4979 100644 --- a/examples/snippets/src/main/java/utils/Settings.java +++ b/examples/snippets/src/main/java/utils/Settings.java @@ -1,20 +1,39 @@ package utils; import com.sinch.sdk.core.utils.StringUtil; +import java.io.IOException; +import java.io.InputStream; import java.util.Optional; import java.util.Properties; +import java.util.logging.LogManager; +import java.util.logging.Logger; public class Settings { + private static final Logger LOGGER = Logger.getLogger(Settings.class.getName()); + + private static final String CONFIG_FILE = "config.properties"; + private static final String LOGGING_CONFIG_FILE = "logging.properties"; + private static final Properties properties; static { + initializeLogger(); properties = new Properties(); - try { - // load a properties file from class path, inside static method - properties.load(Settings.class.getClassLoader().getResourceAsStream("config.properties")); + try ( + // load a properties file from class path, inside static method + InputStream configInputStream = + Settings.class.getClassLoader().getResourceAsStream(CONFIG_FILE)) { + + if (configInputStream != null) { + properties.load(configInputStream); + } else { + LOGGER.severe(String.format("Error reading '%s' configuration file", CONFIG_FILE)); + } } catch (Exception ioe) { - // ignore exception: properties file is just an helper + LOGGER.severe( + String.format( + "Error reading '%s' configuration file: %s", CONFIG_FILE, ioe.getMessage())); } } @@ -70,4 +89,19 @@ public static Optional getConversationRegion() { public static Optional getPhoneNumber() { return get("SINCH_PHONE_NUMBER"); } + + private static void initializeLogger() { + try (InputStream logConfigInputStream = + Settings.class.getClassLoader().getResourceAsStream(LOGGING_CONFIG_FILE)) { + if (logConfigInputStream != null) { + LogManager.getLogManager().readConfiguration(logConfigInputStream); + } else { + LOGGER.warning(String.format("Error reading '%s' configuration file", LOGGING_CONFIG_FILE)); + } + } catch (IOException ioe) { + LOGGER.warning( + String.format( + "Error reading '%s' configuration file: %s", LOGGING_CONFIG_FILE, ioe.getMessage())); + } + } }