# HG changeset patch # Parent 2ca091568b1008e0cc93671aa73bde67a473263b Make BlacklistedClassesHandlerSingleton be quiet so that GeneralSanityTest does not print tons of junk to console. Also simplify logging in ProxyClassLoader. diff --git a/ide.kit/test/qa-functional/src/org/netbeans/test/ide/BlacklistedClassesHandlerSingleton.java b/ide.kit/test/qa-functional/src/org/netbeans/test/ide/BlacklistedClassesHandlerSingleton.java --- a/ide.kit/test/qa-functional/src/org/netbeans/test/ide/BlacklistedClassesHandlerSingleton.java +++ b/ide.kit/test/qa-functional/src/org/netbeans/test/ide/BlacklistedClassesHandlerSingleton.java @@ -72,6 +72,8 @@ import java.util.logging.Level; import java.util.logging.LogRecord; import java.util.logging.Logger; +import org.netbeans.ProxyClassLoader; +import org.openide.util.Exceptions; /** * BlacklistedClassesHandler performs processing of log messages to identify @@ -342,6 +344,7 @@ if (className.matches(".*\\$\\d+")) { return; } + System.err.println("XXX initiated loading of " + className); if (blacklist.containsKey(className)) { //violator Exception exc = new BlacklistedClassesViolationException(record.getParameters()[0].toString()); // Check for AntProjectModule.checkForXalan() - fails on MacOSX @@ -406,11 +409,15 @@ } public void register() { + try { + Class.forName("org.netbeans.ProxyClassLoader"); + } catch (ClassNotFoundException x) { + assert false : x; + } Logger logger = Logger.getLogger("org.netbeans.ProxyClassLoader"); // NOI18N logger.addHandler(this); logger.setLevel(Level.ALL); logger.setUseParentHandlers(false); - System.setProperty("org.netbeans.ProxyClassLoader.level", "ALL"); // NOI18N } public void unregister() { diff --git a/o.n.bootstrap/src/org/netbeans/ProxyClassLoader.java b/o.n.bootstrap/src/org/netbeans/ProxyClassLoader.java --- a/o.n.bootstrap/src/org/netbeans/ProxyClassLoader.java +++ b/o.n.bootstrap/src/org/netbeans/ProxyClassLoader.java @@ -76,14 +76,8 @@ public class ProxyClassLoader extends ClassLoader { private static final Logger LOGGER = Logger.getLogger(ProxyClassLoader.class.getName()); - private static final boolean LOG_LOADING; private static final ClassLoader TOP_CL = ProxyClassLoader.class.getClassLoader(); - static { - boolean prop1 = System.getProperty("org.netbeans.ProxyClassLoader.level") != null; - LOG_LOADING = prop1 || LOGGER.isLoggable(Level.FINE); - } - /** All known packages */ private final Map packages = new HashMap(); @@ -187,9 +181,8 @@ @Override protected synchronized Class loadClass(String name, boolean resolve) throws ClassNotFoundException { - if (LOG_LOADING && !name.startsWith("java.")) { - LOGGER.log(Level.FINEST, "{0} initiated loading of {1}", - new Object[] {this, name}); + if (LOGGER.isLoggable(Level.FINEST) && !name.startsWith("java.")) { + LOGGER.log(Level.FINEST, "{0} initiated loading of {1}", new Object[] {this, name}); } Class cls = null; @@ -304,8 +297,9 @@ throw (NoClassDefFoundError) new NoClassDefFoundError(e.getMessage() + " while loading " + pkg + name + "; see http://wiki.netbeans.org/DevFaqTroubleshootClassNotFound").initCause(e); // NOI18N } - if (LOG_LOADING && !name.startsWith("java.")) LOGGER.log(Level.FINEST, "{0} loaded {1}", - new Object[] {this, name}); + if (LOGGER.isLoggable(Level.FINEST) && !name.startsWith("java.")) { + LOGGER.log(Level.FINEST, "{0} loaded {1}", new Object[] {this, name}); + } } return cls; }