<AWT Dev> Review Request for 6879044
Alan Bateman
Alan.Bateman at Sun.COM
Mon Sep 14 02:17:07 PDT 2009
Mandy Chung wrote:
> 6879044: Eliminate the dependency of logging from the JRE
> core/awt/swing classes
>
> Webrev:
> http://cr.openjdk.java.net/~mchung/6879044/webrev.00/
The approach seems reasonable to me. It is a bit strange to redirect the
platform logging to j.u.logging if something up the stack starts logging
but I think we can live with this because these loggers are for
debugging purposes.
The changes to the AWT code are mostly mechanical, so I've only skimmed
these (assuming that someone from the AWT team with do a detailed check).
Have you tested this with a security manager set? I'm just wondering if
PlatformLogger's static initializer should do the property lookup in a
doPrivileged block. Also in the LoggerProxy for the line separator (BTW:
lineSeparator can be final).
Is isLoggingEnabled() used anywhere? I can't see it and wonder if it
should be removed. If it is used, then I assume it needs to be
synchronized with redirectPlatformLoggers.
You allow the PlatformLoggers to be GC'ed but the entries will remain in
the loggers map. I don't think this is a big deal because the AWT
classes will not be unloaded but might be worth putting a note in a
comment to re-visit this some time.
The static initializer in the forwarding proxy seems a bit messy. It
might look neater if changed to something like:
private static final Class<?> loggerClass =
getClass("java.lang.Logger");
private static final Method getLoggerMethod = getMethod(loggerClass,
"getLogger", String.class);
where getClass does the Class.forName, returning null if CNF, getMethod
returns null if passed a null class, etc.
Minor nit but there are a few style/formatting issues in PlatformLogger.
For example, in JavaLogger there isn't a blank line between methods. It
might be worthing taking a pass over this to have it as neat as possible.
Do you have a bugID to track updating the http protocol handler? Jessie
did push some changes to eliminate the static dependency on logging and
it would be good if that code used PlatformLogger.
-Alan.
More information about the awt-dev
mailing list