Re: [OpenJDK 2D-Dev] Fwd: Re: RFR : 8248802: Add log helper methods to FontUtilities.java

2020-07-14 Thread Langer, Christoph
Hi Daniel,

thanks for this good suggestion. Matthias change won't go that far now anyway 
but if font logging was to be further refactored, this should definitely be 
taken into account.

Best regards
Christoph

> -Original Message-
> From: Daniel Fuchs 
> Sent: Dienstag, 14. Juli 2020 17:40
> To: Roger Riggs ; Phil Race
> ; Langer, Christoph ;
> 2d-dev@openjdk.java.net
> Subject: Re: Fwd: Re: [OpenJDK 2D-Dev] RFR : 8248802: Add log helper
> methods to FontUtilities.java
> 
> Hi Christoph,
> 
> Sorry - I'm not on 2d-dev - so please include me in cc: if you
> reply to this mail. Also my apologies if I don't have the full
> context of this discussion.
> 
>  > Unfortunately, PlatformLogger does not (yet?) offer public logging
>  > methods taking suppliers.
> 
> I would suggest using System.Logger directly instead.
> PlatformLogger delegates to System.Logger behind the scene,
> and System.Logger has APIs that take suppliers:
> 
> https://docs.oracle.com/en/java/javase/14/docs/api/java.base/java/lang/Sy
> stem.Logger.html
> 
> best regards
> 
> -- daniel
> 
> On 14/07/2020 16:03, Roger Riggs wrote:
> >  Forwarded Message 
> > Subject:Re: [OpenJDK 2D-Dev] RFR : 8248802: Add log helper
> methods to
> > FontUtilities.java
> > Date:   Tue, 14 Jul 2020 14:22:50 +
> > From:   Langer, Christoph 
> > To: Philip Race , Baesken, Matthias
> > 
> > CC: Peter Hull , Jayathirth D v
> > , 2d-dev@openjdk.java.net
> > <2d-dev@openjdk.java.net>
> >
> >
> >
> > Hi,
> >
> > I guess it would make sense to offer logging methods that take a
> > supplier as input. That way we could pass String concatenations as
> > Lambdas that only evaluate when actually calling the logging.
> >
> > Unfortunately, PlatformLogger does not (yet?) offer public logging
> > methods taking suppliers. Those should, however, be easy to implement,
> > leveraging already existing signatures of the logging Bridge such as
> > here:
> >
> https://github.com/openjdk/jdk/blob/195c45a0e11207e15c277e7671b2a82b
> 8077c5fb/src/java.base/share/classes/sun/util/logging/PlatformLogger.java#
> L210
> >
> > Furthermore, initialization of logging in FontUtilities looks a bit
> > awkward. I think the if (debugFonts) in line 117 is unnecessary and the
> > code of that block could be added to the block before (of line 107: if
> > (debugLevel != null && !debugLevel.equals("false"))). And you could also
> > remove the following imports there (line 29ff):
> >
> > import java.io.BufferedReader;
> >
> > import java.io.File;
> >
> > import java.io.FileInputStream;
> >
> > import java.io.InputStreamReader;
> >
> > Best regards
> >
> > Christoph
> >



Re: [OpenJDK 2D-Dev] Fwd: Re: RFR : 8248802: Add log helper methods to FontUtilities.java

2020-07-14 Thread Daniel Fuchs

Hi Christoph,

Sorry - I'm not on 2d-dev - so please include me in cc: if you
reply to this mail. Also my apologies if I don't have the full
context of this discussion.

> Unfortunately, PlatformLogger does not (yet?) offer public logging
> methods taking suppliers.

I would suggest using System.Logger directly instead.
PlatformLogger delegates to System.Logger behind the scene,
and System.Logger has APIs that take suppliers:

https://docs.oracle.com/en/java/javase/14/docs/api/java.base/java/lang/System.Logger.html

best regards

-- daniel

On 14/07/2020 16:03, Roger Riggs wrote:

 Forwarded Message 
Subject: 	Re: [OpenJDK 2D-Dev] RFR : 8248802: Add log helper methods to 
FontUtilities.java

Date:   Tue, 14 Jul 2020 14:22:50 +
From:   Langer, Christoph 
To: 	Philip Race , Baesken, Matthias 

CC: 	Peter Hull , Jayathirth D v 
, 2d-dev@openjdk.java.net 
<2d-dev@openjdk.java.net>




Hi,

I guess it would make sense to offer logging methods that take a 
supplier as input. That way we could pass String concatenations as 
Lambdas that only evaluate when actually calling the logging.


Unfortunately, PlatformLogger does not (yet?) offer public logging 
methods taking suppliers. Those should, however, be easy to implement, 
leveraging already existing signatures of the logging Bridge such as 
here: 
https://github.com/openjdk/jdk/blob/195c45a0e11207e15c277e7671b2a82b8077c5fb/src/java.base/share/classes/sun/util/logging/PlatformLogger.java#L210


Furthermore, initialization of logging in FontUtilities looks a bit 
awkward. I think the if (debugFonts) in line 117 is unnecessary and the 
code of that block could be added to the block before (of line 107: if 
(debugLevel != null && !debugLevel.equals("false"))). And you could also 
remove the following imports there (line 29ff):


import java.io.BufferedReader;

import java.io.File;

import java.io.FileInputStream;

import java.io.InputStreamReader;

Best regards

Christoph





Re: [OpenJDK 2D-Dev] Fwd: Re: RFR : 8248802: Add log helper methods to FontUtilities.java

2020-07-14 Thread Philip Race

That would I think also take care of some "technical debt" which
is on the to-do list since I want to remove all unnecessary usage
of java.base internals.

-phil.

On 7/14/20, 8:39 AM, Daniel Fuchs wrote:

Hi Christoph,

Sorry - I'm not on 2d-dev - so please include me in cc: if you
reply to this mail. Also my apologies if I don't have the full
context of this discussion.

> Unfortunately, PlatformLogger does not (yet?) offer public logging
> methods taking suppliers.

I would suggest using System.Logger directly instead.
PlatformLogger delegates to System.Logger behind the scene,
and System.Logger has APIs that take suppliers:

https://docs.oracle.com/en/java/javase/14/docs/api/java.base/java/lang/System.Logger.html 



best regards

-- daniel

On 14/07/2020 16:03, Roger Riggs wrote:

 Forwarded Message 
Subject: Re: [OpenJDK 2D-Dev] RFR : 8248802: Add log helper 
methods to FontUtilities.java

Date: Tue, 14 Jul 2020 14:22:50 +
From: Langer, Christoph 
To: Philip Race , Baesken, Matthias 

CC: Peter Hull , Jayathirth D v 
, 2d-dev@openjdk.java.net 
<2d-dev@openjdk.java.net>




Hi,

I guess it would make sense to offer logging methods that take a 
supplier as input. That way we could pass String concatenations as 
Lambdas that only evaluate when actually calling the logging.


Unfortunately, PlatformLogger does not (yet?) offer public logging 
methods taking suppliers. Those should, however, be easy to 
implement, leveraging already existing signatures of the logging 
Bridge such as here: 
https://github.com/openjdk/jdk/blob/195c45a0e11207e15c277e7671b2a82b8077c5fb/src/java.base/share/classes/sun/util/logging/PlatformLogger.java#L210


Furthermore, initialization of logging in FontUtilities looks a bit 
awkward. I think the if (debugFonts) in line 117 is unnecessary and 
the code of that block could be added to the block before (of line 
107: if (debugLevel != null && !debugLevel.equals("false"))). And you 
could also remove the following imports there (line 29ff):


import java.io.BufferedReader;

import java.io.File;

import java.io.FileInputStream;

import java.io.InputStreamReader;

Best regards

Christoph