RFR: 7184195 - java.util.logging.Logger.getGlobal().info() doesn't log without configuration (original) (raw)

Jim Gish jim.gish at oracle.com
Mon Oct 29 22:30:45 UTC 2012


Hi Mandy,

I don't understand your second sentence. Could you please clarify?

Thanks, Jim

On 10/29/2012 06:05 PM, Mandy Chung wrote: > Jim, >> The logging deadlock issue is subtle and complex. Do we have a test > case that verifies your fix that is deadlock-free? >> I can't tell for sure but looks like it smells the potential deadlock > if Logger.getGlobal() triggers the LogManager class initialization but > LogManager. calls Logger.getLogger().setLogManager(). >> Maybe you already see this - 4994705 may give you some idea of the > deadlock problem. >> Hope this helps. > Mandy >> On 10/24/2012 4:13 PM, Jim Gish wrote: >> Please review >> http://cr.openjdk.java.net/~jgish/Bug7184195-global-logger-init-fix/ >>>> In JDK7, Logger.global was deprecated because of potential deadlock >> problems. The method getGlobal() was introduced as a convenience >> method to get the global logger in lieu of this or calling >> Logger.getLogger(Logger.GLOBALLOGGERNAME). Unfortunately, this was >> broken out of the gate. getGlobal() simply used the deprecated >> static variable global, but this had the result of returning the >> global logger without initializing the logging system. As a result, >> simply calling Logger.getGlobal().INFO("msg") does nothing. So much >> for the convenience of a simple global logger for devs to use ootb >> without any setup required. >>>> This simple fix simply returns >> Logger.getLogger(Logger.GLOBALLOGGERNAME) when getGlobal() is >> called and hence results in proper setup of the logging sytem /and /a >> working global logger with no "assembly" required :-) >>>> Thanks, >> Jim >>

Jim Gish | Consulting Member of Technical Staff | +1.781.442.0304 Oracle Java Platform Group | Core Libraries Team 35 Network Drive Burlington, MA 01803 jim.gish at oracle.com



More information about the core-libs-dev mailing list