From cb089dbd9852c420089406136123b7ab2a7ed84b Mon Sep 17 00:00:00 2001 From: Jean-Pierre Portier Date: Mon, 2 Feb 2026 16:56:32 +0100 Subject: [PATCH 1/2] feat (snippets): Load logging configuration file --- .../src/main/java/utils/Settings.java | 29 +++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/examples/snippets/src/main/java/utils/Settings.java b/examples/snippets/src/main/java/utils/Settings.java index 361fb8f50..482cb8dac 100644 --- a/examples/snippets/src/main/java/utils/Settings.java +++ b/examples/snippets/src/main/java/utils/Settings.java @@ -1,20 +1,32 @@ 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")); + properties.load(Settings.class.getClassLoader().getResourceAsStream(CONFIG_FILE)); } catch (Exception ioe) { - // ignore exception: properties file is just an helper + LOGGER.config( + String.format( + "Error reading '%s' configuration file: %s", CONFIG_FILE, ioe.getMessage())); } } @@ -70,4 +82,17 @@ public static Optional getConversationRegion() { public static Optional getPhoneNumber() { return get("SINCH_PHONE_NUMBER"); } + + public static void initializeLogger() { + try (InputStream logConfigInputStream = + Settings.class.getClassLoader().getResourceAsStream(LOGGING_CONFIG_FILE)) { + if (logConfigInputStream != null) { + LogManager.getLogManager().readConfiguration(logConfigInputStream); + } + } catch (IOException ioe) { + LOGGER.config( + String.format( + "Error reading '%s' configuration file: %s", LOGGING_CONFIG_FILE, ioe.getMessage())); + } + } } From 73cf39b37ea31202663d11bfadeb36cf56224cb0 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Portier Date: Tue, 3 Feb 2026 17:51:27 +0100 Subject: [PATCH 2/2] PR's comments --- .../src/main/java/utils/Settings.java | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/examples/snippets/src/main/java/utils/Settings.java b/examples/snippets/src/main/java/utils/Settings.java index 482cb8dac..7482e4979 100644 --- a/examples/snippets/src/main/java/utils/Settings.java +++ b/examples/snippets/src/main/java/utils/Settings.java @@ -20,11 +20,18 @@ public class Settings { static { initializeLogger(); properties = new Properties(); - try { - // load a properties file from class path, inside static method - properties.load(Settings.class.getClassLoader().getResourceAsStream(CONFIG_FILE)); + 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) { - LOGGER.config( + LOGGER.severe( String.format( "Error reading '%s' configuration file: %s", CONFIG_FILE, ioe.getMessage())); } @@ -83,14 +90,16 @@ public static Optional getPhoneNumber() { return get("SINCH_PHONE_NUMBER"); } - public static void initializeLogger() { + 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.config( + LOGGER.warning( String.format( "Error reading '%s' configuration file: %s", LOGGING_CONFIG_FILE, ioe.getMessage())); }