RFR: JDK-8046565: Platform Logger API and Service

Daniel Fuchs daniel.fuchs at oracle.com
Fri Oct 16 14:16:49 UTC 2015


Hi Mandy,

I have integrated most of your comments and updated
the api specdiff and webrev (new links), and also pushed
the corresponding changes to the sandbox.

Thanks for working with me on the API doc!

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/

sandbox: JDK-8046565-branch
instructions: http://cr.openjdk.java.net/~chegar/docs/sandbox.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
>




More information about the core-libs-dev mailing list