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