Hi Mandy,

I have updated the links with the modifications we discussed
last Friday:

 - I have removed the tag @apiNote from System.LoggerFinder
 - I have relaxed the constraint of what happens if several
   implementations of LoggerFinder are present - the specification
   no longer mandate that ServiceConfigurationError is thrown, and
   the implementation will simply take the first one returned
   by the ServiceLoader.
 - I have moved PlatformLoggerBridge and ConfigurableLoggerBridge
   to be inner interfaces of PlatformLogger:
      PlatformLoggerBridge     => PlatformLogger.Bridge
      ConfigurableLoggerBridge => PlatformLogger.ConfigurableBridge
   (and fixed their class-level javadoc as well)

I have pushed the changes to the sandbox (JDK-8046565-branch)
and updated the content of 'proto.02' (same link as before:

specdiff:
http://cr.openjdk.java.net/~dfuchs/8046565/proto.02/specdiff-api/overview-summary.html

webrev:
http://cr.openjdk.java.net/~dfuchs/8046565/proto.02/webrev/index.html

best regards,

-- daniel

On 14/10/15 22:57, Mandy Chung wrote:
Addiitional comments:

JdkLoggerProvider.java
- should the GC’ed referent entries in  the application SharedLoggers map be 
occasionally drained?

BootstrapLogger.java
In the BootstrapExecutors::join(Runnable r)  method:
     try {
         getExecutor().submit(r).get();
     } catch (InterruptedException | ExecutionException ex) {
         // should not happen
         ex.printStackTrace(System.err);
     }
- we should avoid output any debugging code though.

typos:
indepedent
temporarilly

// Unfortunately, if we come to here it means we are in the bootsraping
// phase where using lambdas is not safe yet - so we have to use a
// a data object instead…
FYI.  jake has changed the system initialization sequence that allows the use 
of lambda early at startup.  That may help in this case that you can revisit 
this in the future.

This reminds me the startup performance.  Is there any use System.Logger to log 
message during startup in JDK 9?  Using lambda at startup will have impact to 
the startup performance.

Also I’m curious to know the difference of classes loaded at startup if 
System.getLogger is called in one of the system class loaded during startup but 
no log message is output (as typical case is to print debugging message) with 
and without java.logging.

// Not sure whether this is needed: it was in the original
//     PlatformLogger proxy code:
- I don’t understand why sun.util.logger.LazyLoggers$JdkLazyLogger need to be 
loaded.  DetectBackend is loaded only after booted (per the comment)

Naming nit:
PlatformLoggerBridge - would it be better to move to PlatformLogger.Bridge?  
It’s nit and I think it reads better and clearly associate with PlatformLogger.

Mandy


Reply via email to