--- a/jdk/src/share/classes/sun/util/logging/PlatformLogger.java Tue Sep 22 14:42:07 2009 +0100
+++ b/jdk/src/share/classes/sun/util/logging/PlatformLogger.java Tue Sep 22 14:49:06 2009 +0100
@@ -29,15 +29,15 @@
import java.lang.ref.WeakReference;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
-import java.io.File;
import java.io.PrintStream;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.security.AccessController;
import java.security.PrivilegedAction;
import java.text.MessageFormat;
-import java.util.logging.Logger;
-import java.util.*;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
import sun.misc.JavaLangAccess;
import sun.misc.SharedSecrets;
@@ -493,6 +493,7 @@
private static final Method getLoggerMethod;
private static final Method setLevelMethod;
private static final Method getLevelMethod;
+ private static final Method isLoggableMethod;
private static final Method logMethod;
private static final Method logThrowMethod;
private static final Method logParamsMethod;
@@ -505,6 +506,7 @@
getLoggerMethod = getMethod(loggerClass, "getLogger", String.class);
setLevelMethod = getMethod(loggerClass, "setLevel", levelClass);
getLevelMethod = getMethod(loggerClass, "getLevel");
+ isLoggableMethod = getMethod(loggerClass, "isLoggable", levelClass);
logMethod = getMethod(loggerClass, "log", levelClass, String.class);
logThrowMethod = getMethod(loggerClass, "log", levelClass, String.class, Throwable.class);
logParamsMethod = getMethod(loggerClass, "log", levelClass, String.class, Object[].class);
@@ -608,6 +610,10 @@
levelValue = newLevel;
invoke(setLevelMethod, javaLogger, levelObjects.get(newLevel));
}
+
+ public boolean isLoggable(int level) {
+ return (Boolean) invoke(isLoggableMethod, javaLogger, levelObjects.get(level));
+ }
}