diff --git a/java/src/ch/ntb/usb/logger/LogUtil.java b/java/src/ch/ntb/usb/logger/LogUtil.java index ef81b4d..3518cc7 100644 --- a/java/src/ch/ntb/usb/logger/LogUtil.java +++ b/java/src/ch/ntb/usb/logger/LogUtil.java @@ -16,6 +16,9 @@ import java.util.logging.Logger; public class LogUtil { + // debug this class + private static final boolean debugLogUtil = false; + private static final String PLUGIN_ID = "ch.ntb.usb"; private static final String PROPERTIES_FILE = ".configure"; private static final String LOGGER_WARNING = "Warning in class " @@ -28,24 +31,37 @@ public class LogUtil { createLoggersFromProperties(); } + private static void debugMsg(String method, String message) { + if (debugLogUtil) { + System.out.println(method + ": " + message); + } + } + public static void setLevel(Logger logger, Level loglevel) { Handler[] h = logger.getHandlers(); for (int i = 0; i < h.length; i++) { + System.out.println("setLevel " + loglevel.toString()); h[i].setLevel(loglevel); } logger.setLevel(loglevel); } public static Logger getLogger(String name) { + debugMsg("getLogger", name); LogManager manager = LogManager.getLogManager(); // check if logger is already registered Logger logger = manager.getLogger(name); if (logger == null) { logger = Logger.getLogger(name); - initLevel(logger, Level.OFF); + setLevel(logger, Level.OFF); manager.addLogger(logger); + debugMsg("getLogger", "creating new logger"); } - logger.setLevel(null); + if (logger.getLevel() == null) { + debugMsg("getLogger", "level == null -> setLevel to OFF "); + setLevel(logger, Level.OFF); + } + debugMsg("getLogger", "logLevel " + logger.getLevel().getName()); return logger; } @@ -63,6 +79,7 @@ public class LogUtil { private static void createLoggersFromProperties() { try { + debugMsg(LogUtil.class.getName(), "createLoggersFromProperties"); InputStream is = LogUtil.class.getClassLoader() .getResourceAsStream(PROPERTIES_FILE); if (is == null) { @@ -70,9 +87,15 @@ public class LogUtil { } else { Properties prop = new Properties(); prop.load(is); + debugMsg("createLoggersFromProperties", + "properties file loaded: " + PROPERTIES_FILE); + debugMsg("createLoggersFromProperties", "file content:\n" + + prop.toString()); // get global debug enable flag debugEnabled = Boolean.parseBoolean(prop.getProperty(PLUGIN_ID + "/debug")); + debugMsg("createLoggersFromProperties", "debuging enabled: " + + debugEnabled); // get and configure loggers boolean moreLoggers = true; int loggerCount = 0; @@ -96,6 +119,9 @@ public class LogUtil { } Logger logger = getLogger(loggerName); initLevel(logger, level); + debugMsg("createLoggersFromProperties", + "create logger " + loggerName + " with level " + + level.toString()); } else { moreLoggers = false; }