On 3/23/18 10:51 AM, Kevin Rushforth wrote:
Hi Daniel,

Thanks for the review.

I like the idea of removing the unused levels and methods.

As for directly using System.Logger.Level, we have enough usages of the Level and convenience logging methods (e.g., "warn", "fine", etc.), that I think it's better to file a follow-up issue (to minimize the changes and so it would be more feasible to review the existing changes). The idea of doing a refactor / rename of the convenience methods and level names to match seems like a good one for that follow-up JBS issue.


When you do the clean up, I suggest to drop PlatformLogger completely and directly use System.Logger (in addition to System.Logger.Level)

Mandy

-- Kevin


Daniel Fuchs wrote:
Hi Ajit,

I have two remarks,

1. I wonder if it's wise to keep the old unused levels like e.g.
   Level.CONFIG in your new PlatformLogger.

   The sun.util.logging.PlatformLogger had a bridge that allowed
   it to transfer these levels unchanged to java.logging when
   java.logging was the backend.

   Your new PlatformLogger does not have these bridges.
   Which means that code that might log with Level.CONFIG
   will in reality log with Level.DEBUG, which will be translated
   to Level.FINE when java.logging is the backend.

   So with the old sun.u.l.PlatformLogger, logging with Level.CONFIG
   would have ended up logging with Level.CONFIG in java.logging,
   but with your new implementation, this will end up as Level.FINE
   (as DEBUG maps to FINE when java.logging is the backend).

   AFAICS - there's no code in JavaFX (at least in the files present
   in your webrev) that logs with Level.CONFIG.
   So why not just remove these unused levels from your implementation
   of PlatformLogger? You certainly don't want new code
   to start using PlatformLogger::config (as that's actually
   an alias to DEBUG).
   The best way of avoiding future usage when there's none
   today is just to remove these problematic API point.

2. I understand the desire of minimizing the code changes, and
   introducing a PlatformLogger class that mimics the old
   sun.util.logging.PlatformLogger certainly achieve this goal.
   Now the interesting thing is: how many log statements are there
   throughout the JavaFX code base?

   If there are not too many - then you might want consider
   changing them to use directly the levels provided by
   System.Logger - and then you might want to use the
   "Refactor -> Rename" option of your IDE to simply
   rename the methods

   PlatformLogger::severe to PlatformLogger::error
   PlatformLogger::fine to PlatformLogger::debug
   PlatformLogger::finer to PlatformLogger::trace
   PlatformLogger::finest to PlatformLogger::trace


Otherwise looks mostly good - I guess.

best regards,

-- daniel

On 23/03/2018 16:34, Ajit Ghaisas wrote:
Hi Kevin, Mandy and Daniel,

     Please review the changeset that removes dependency on sun.util.logging package from JavaFX code.

     Bug :  https://bugs.openjdk.java.net/browse/JDK-8195799
     Fix : http://cr.openjdk.java.net/~aghaisas/fx/8195799/webrev.0/

     Request you to review.

Regards,
Ajit



Reply via email to