8010309 : PlatformLogger: isLoggable performance / waste due to HashMap<Integer, Level (original) (raw)

Peter Levart peter.levart at gmail.com
Thu Mar 21 15:11:36 UTC 2013


On 03/21/2013 03:45 PM, Peter Levart wrote:

But your concern might be correct. In my code LevelEnum is also used from the LoggerProxy.format() method (in addition to all the places in JavaLogger) to obtain the level name for formatting. If this method is called the first time while LoggingSupport.isAvailable() returns false and that happens before JavaLogger uses LevelEnum for the first time (and at that time LoggingSupport.isAvailable() would return true), then level objects will not be initialized correctly.

Hi Laurent,

In addition, the following sole PlatformLogger constructor:

 private PlatformLogger(String name) {
     if (loggingEnabled) {
         this.logger = new JavaLogger(name);
     } else {
         this.logger = new LoggerProxy(name);
     }
 }

... indicates that either JavaLogger objects or LoggerProxy objects are used but not both (since loggingEnabled is static final). So the above concern is ungrounded.

Regards, Peter



More information about the core-libs-dev mailing list