< prev index next >

test/jdk/java/util/logging/Level/CustomLevel.java

Print this page

        

*** 20,29 **** --- 20,31 ---- * or visit www.oracle.com if you need additional information or have any * questions. */ import java.io.*; + import java.lang.management.ManagementFactory; + import java.lang.management.PlatformLoggingMXBean; import java.lang.ref.Reference; import java.lang.ref.ReferenceQueue; import java.lang.ref.WeakReference; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method;
*** 33,45 **** import java.util.*; import java.util.logging.*; /* * @test ! * @bug 8026027 6543126 * @summary Test Level.parse to look up custom levels by name and its ! * localized name * * @run main/othervm CustomLevel */ public class CustomLevel extends Level { --- 35,48 ---- import java.util.*; import java.util.logging.*; /* * @test ! * @bug 8026027 6543126 8187073 ! * @modules java.management * @summary Test Level.parse to look up custom levels by name and its ! * localized name, as well as severity. * * @run main/othervm CustomLevel */ public class CustomLevel extends Level {
*** 71,80 **** --- 74,85 ---- } public static void main(String[] args) throws Exception { setupCustomLevels(); setUpCustomLevelsOtherLoader(); + PlatformLoggingMXBean mxbean = ManagementFactory.getPlatformMXBean(PlatformLoggingMXBean.class); + Logger logger = Logger.getLogger("foo.bar"); // Level.parse will return the custom Level instance for (Level level : levels) { final ResourceBundle rb = getResourceBundle(level); String name = level.getName();
*** 94,104 **** --- 99,128 ---- if (l != level) { throw new RuntimeException("Unexpected level " + l + " " + l.getClass() + " for " + localizedName + " in " + rb.getBaseBundleName()); } + l = Level.parse(String.valueOf(level.intValue())); + System.out.println("Level.parse(" + level.intValue() + ") returns " + l); + if (l != level) { + if (l == null || l.intValue() != level.intValue()) { + throw new RuntimeException("Unexpected level " + l + + (l == null ? "" : (" " + l.getClass())) + + " for " + level.intValue()); + } + } + mxbean.setLoggerLevel(logger.getName(), String.valueOf(level.intValue())); + Level l2 = logger.getLevel(); + if (l2 != level) { + if (l2 == null || l2.intValue() != level.intValue()) { + throw new RuntimeException("Unexpected level " + l2 + + (l2 == null ? "" : (" " + l2.getClass())) + + " for " + level.intValue()); } + } + } + final long otherLevelCount = levels.stream() .filter(CustomLevel::isCustomLoader) .count();
< prev index next >