jdk/src/share/classes/sun/util/logging/PlatformLogger.java
changeset 3866 34cd368bd2dd
parent 3861 a98a057ec335
child 4172 bceea7bc12b7
--- 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));
+        }
     }