8010309 : PlatformLogger: isLoggable performance / waste due to HashMap<Integer, Level> leads to Integer allocations (boxing)
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