- set LogLevel to OFF if wrong .configure file is loaded

- Debug output added

git-svn-id: https://svn.code.sf.net/p/libusbjava/code/trunk@233 94ad28fe-ef68-46b1-9651-e7ae4fcf1c4c
This commit is contained in:
schlaepfer
2007-01-12 14:45:56 +00:00
parent 53fcb783b8
commit 6f0c071943

View File

@@ -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;
}