RFR 2: JDK-8005263: Logging APIs takes Supplier for message (original) (raw)

Jason Mehrens jason_mehrens at hotmail.com
Sat Dec 22 15:30:58 UTC 2012


The msg argument in most cases is a string literal because it is either a resource bundle key or a MessageFormat literal. The established best practice is to convert on the fly construction of messages to use the MessageFormat syle logging. This current patch is kind of anti-pattern of that practice. I would think the real win would be to delay construction of the 'params' argument in the logging framework. Allowing the callers to write logger.log(level, "{0}", Foo::bar) and have the call to bar be lazy eval would be the best of both the logging world and the lambda world. Jason

Date: Fri, 21 Dec 2012 20:50:18 -0800 From: henry.jen at oracle.com To: core-libs-dev at openjdk.java.net; lambda-dev at openjdk.java.net Subject: RFR 2: JDK-8005263: Logging APIs takes Supplier for message

Hi, Update patch with review feedback, - JavaDoc update for benefit and gotcha. - logEx/logpEx is not log/logp with Supplier as last argument. As a matter of fact, all API with Supplier takes it as last argument. - No more doLog(Level, Supplier, Block) helper for performance concerns. Specdiff and webrev can be found at following, http://cr.openjdk.java.net/~henryjen/ccc/8005263.1/specdiff/diff.html http://cr.openjdk.java.net/~henryjen/ccc/8005263.1/webrev/ Cheers, Henry



More information about the core-libs-dev mailing list