Is there a way to Override the Handler's level through logger Object.
Eg:
FileHandler logFile = new FileHandler("DefaultLogger.log");
logger.setLevel(Level.FINE);
should set the fileHandler's level to fine as well.
You can use the Logger::getHandlers method to acquire all of the install handlers for the given logger. For example:
private static void setHandlersLevel(Logger logger, Level lvl) {
for (Handler h : logger.getHandlers()) {
h.setLevel(lvl);
}
}
Otherwise if you want to find all handler on all loggers you can use the following:
private static void setAllHandlersLevel(Level lvl) {
LogManager lm = LogManager.getLogManager();
synchronized (lm) {
Enumeration<String> e = lm.getLoggerNames();
while (e.hasMoreElements()) {
Logger l = lm.getLogger(e.nextElement());
if (l != null) {
for (Handler h : l.getHandlers()) {
h.setLevel(lvl);
}
}
}
}
}