Fixed the setlevel function

This commit is contained in:
Ziver Koc 2010-11-04 16:31:29 +00:00
parent 36a0722714
commit 4c7d85a806

View file

@ -1,5 +1,6 @@
package zutil.log; package zutil.log;
import java.util.logging.ConsoleHandler;
import java.util.logging.Formatter; import java.util.logging.Formatter;
import java.util.logging.Handler; import java.util.logging.Handler;
import java.util.logging.Level; import java.util.logging.Level;
@ -12,14 +13,14 @@ import java.util.logging.Logger;
*/ */
public class LogUtil { public class LogUtil {
private LogUtil(){} private LogUtil(){}
/** /**
* @return a new Logger for the calling class * @return a new Logger for the calling class
*/ */
public static Logger getLogger(){ public static Logger getLogger(){
return Logger.getLogger(getCalingClass()); return Logger.getLogger(getCalingClass());
} }
/** /**
* @return the parent class other than Logger in the stack * @return the parent class other than Logger in the stack
*/ */
@ -35,7 +36,7 @@ public class LogUtil {
} }
return null; return null;
} }
/** /**
* Sets the global log formatter to the specified one * Sets the global log formatter to the specified one
* *
@ -45,31 +46,42 @@ public class LogUtil {
Logger root = Logger.getLogger(""); Logger root = Logger.getLogger("");
for (Handler handler : root.getHandlers()) { for (Handler handler : root.getHandlers()) {
handler.setFormatter(f); handler.setFormatter(f);
} }
} }
/** /**
* Sets the global log level * Sets the global log level
*/ */
public static void setGlobalLevel(Level level){ public static void setGlobalLevel(Level level){
setLevel("", level); setLevel("", level);
} }
/** /**
* Sets the log level for a specified class * Sets the log level for a specified class
*/ */
public static void setLevel(Class<?> c, Level level){ public static void setLevel(Class<?> c, Level level){
setLevel(c.getName(), level); setLevel(c.getName(), level);
} }
/** /**
* Sets the log level for a specified logger * Sets the log level for a specified logger
*/ */
public static void setLevel(String name, Level level){ public static void setLevel(String name, Level level){
Logger logger = Logger.getLogger(name); Logger logger = Logger.getLogger(name);
logger.setLevel(level); logger.setLevel(level);
//for (Handler handler : logger.getHandlers()) { // Check if the logger has a handler
// handler.setLevel(level); if( logger.getHandlers().length == 0 ){
//} // Create a new console handler
ConsoleHandler handler = new ConsoleHandler();
handler.setLevel( level );
logger.addHandler( handler );
logger.setUseParentHandlers( false );
}
else{
// Set the level on the handlers
for (Handler handler : logger.getHandlers()) {
handler.setLevel(level);
}
}
} }
} }