[11] Review request : JDK-8195799 : Use System logger instead of platform logger in javafx modules

Kevin Rushforth kevin.rushforth at oracle.com
Fri Mar 23 19:42:47 UTC 2018



mandy chung wrote:
>
>
> 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)

If not too hard, that might be a good way to go.

-- Kevin

>
> 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
>>>>
>>>
>


More information about the openjfx-dev mailing list