There is no change to the log messages emitted from awt/2d/swing. The only impact to the end users is if they enable logging by modifying the system-wide logging.properties (see below); otherwise, the end users will not notice any change due to this fix.

The following are the common ways to enable logging:
1) set -Djava.util.logging.config.file=<your own logging.properties> system properties in the command-line

This fix has no impact to the end user. Typically for debugging purpose, a user will have their custom logging.properties instead of modify the system-wide logging.properties as they would impact all Java apps.

2) Modify the system-wide logging.properties in the JRE local copy ( <JRE>/lib/logging.properties)

This fix has impact to the end user and they will need to add -Djava.util.logging.config.file=<JRE>/lib/logging.properties option in the command-line.

3) Have their own java.util.logging.config.class implementation

This fix has no impact to the end user.

Thanks
Mandy

Igor Nekrestyanov wrote:
We have discussed this with Anthony and Andrei offline and they do not seem to have any blocking concerns.

There is one suggestion though - there should be simple explanation for "are there any changes required on the end user side to enable logging and if so, what are they". Logging is mostly used to get details from remote user and ideally instructions that were sent to such users (i.e. "if you have focus-related issue please do this and send us this") should not change
(or it should be explained how they are changing).

Anthony/Andrei, please speak up if you have other concerns.

-igor

On 9/23/09 5:08 AM, Anthony Petrov wrote:
On 09/23/2009 03:41 PM, Alan Bateman wrote:
If AWT initialized the loggers lazily, and only did it when the logging is actually enabled (checking for some system property, or whatever other way), would we still be statically linked to the j.u.logging package in case of a regular client application that does not use/enable logging explicitly?
Yes, minimally they should be created lazily (this is one of the suggestions that Mandy listed in 6880089). That would at least avoid initializing all these loggers. The static dependency remains.

Ah, I just looked over the PlatformLogger code, and now I see it uses reflection to access the j.u.logging.* classes. Now this point is clear.

Have it been discussed whether that is feasible to modify the VM in order to eliminate the static dependency if a particular object never gets initialized?

It just looks kind of artificial to create such proxy classes. I bet we'll need plenty of them for other modules. Won't the code be messed up too much?

--
best regards,
Anthony


Reply via email to