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 +0000
From: Langer, Christoph <christoph.lan...@sap.com>
To: Philip Race <philip.r...@oracle.com>, Baesken, Matthias
<matthias.baes...@sap.com>
CC: Peter Hull <peterhul...@gmail.com>, Jayathirth D v
<jayathirth....@oracle.com>, 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