fix log level inheritance

A Logger which has not had a level set explicitly should inherit its
effective level from its parent, not just default to INFO.
This commit is contained in:
Joel Dice
2014-05-20 14:26:56 -06:00
parent b28142a837
commit 7a768f2c69
2 changed files with 45 additions and 2 deletions

View File

@ -32,7 +32,6 @@ public class Logger {
if (name.equals("")) return rootLogger;
Logger logger = new Logger(name);
logger.parent = rootLogger;
logger.setLevel(Level.INFO);
return logger;
}
@ -60,6 +59,14 @@ public class Logger {
log(Level.FINE, Method.getCaller(), message, null);
}
public void finer(String message) {
log(Level.FINER, Method.getCaller(), message, null);
}
public void finest(String message) {
log(Level.FINEST, Method.getCaller(), message, null);
}
public void info(String message) {
log(Level.INFO, Method.getCaller(), message, null);
}
@ -155,7 +162,7 @@ public class Logger {
}
public boolean isLoggable(Level level) {
return level.intValue() >= levelValue.intValue();
return level.intValue() >= getEffectiveLevel().intValue();
}
private static class DefaultHandler extends Handler {