<AWT Dev> Review Request for 6879044
son.two at gmail.com
Sun Sep 13 20:44:27 PDT 2009
On Mon, Sep 14, 2009 at 5:32 AM, Mandy Chung <Mandy.Chung at sun.com> wrote:
> 6879044: Eliminate the dependency of logging from the JRE core/awt/swing
> 1. A new sun.util.logging.PlatformLogger class that will handle the log
> messages in a similar way as Logger but it will only delegate to
> java.util.logging only when it is enabled. LogManager and LogRecord are
> modified to support the platform loggers. The users of PlatformLogger will
> continue to run if java.util.logging classes do not exist.
evaluation for 6879044 says:
Add a PlatformLogger class that mimics the default logging behavior
(output the log message to System.err with simple formatting) and
creates a java.util.logging.Logger only when the logging facility is
used by the application or a user-defined configuration is supplied.
which of two descriptions is correct one?
Also I wonder if it is ok to get possible better modularization by
adding dependency to Sun's internal API into public packages.
> 2. AWT, 2D, Swing, and a few java.util classes are modified to use
> PlatformLogger instead of Logger. Although many files are modified, the
> change is mostly replacement with classname.
Well, at least in AWTEvent you have changed static initialization of
logger to lazy one.
Perhaps it is better to keep a static one to minimize your changes.
> AWT statically creates a number of loggers. Running a simple AWT Framer
> application with JDK 7 b71 creates 79 loggers on solaris-i586 and 34 loggers
> on windows-i586. SwingSet2 creates a total of 85 loggers including a few
> non-awt ones on solaris-i586 and 35 on windows-i586).
> Although the memory usage might not be very high (especially with this fix),
> I don't see the need of having many fine-grained loggers. This fix doesn't
> address this the number of AWT loggers. I file a separate CR (6880089) to
> revisit it.
> Startup Performance:
> This change does not have significant startup performance improvement, as
> expected. However, it does reduce the number of loaded classes (Framer app
> loads 16 fewer classes and jedit loads 13 fewer classes).
More information about the core-libs-dev