[
https://issues.apache.org/jira/browse/LOG4J2-599?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14658326#comment-14658326
]
Remko Popma commented on LOG4J2-599:
------------------------------------
I had a quick look at the [link|https://github.com/typesafehub/scala-logging]
you provided. Looks like this is a Scala library that provides wrappers around
SLF4J Logger objects, which provide lazy logging without an explicit log level
check. It does not require Java 8 but does require Scala.
I agree there is nothing that prevents anyone from extending this Scala library
to also work for Log4j2 Loggers directly (without going through the SLF4J API).
However, my purpose for bringing this up was to discuss whether we should
change the Log4J API to provide this convenience for users running on Java 8.
Personally I am thinking of lambda support as a strategic feature, meaning we
can add this to the reasons to switch to Log4j2: it allows you to write cleaner
code.
> Support lambda functions (or similar) for log message parameters
> ----------------------------------------------------------------
>
> Key: LOG4J2-599
> URL: https://issues.apache.org/jira/browse/LOG4J2-599
> Project: Log4j 2
> Issue Type: Brainstorming
> Components: Core
> Reporter: Matt Sicker
> Priority: Minor
> Labels: Java8
>
> It would be nice if we could support 0-param lambda functions (or the
> equivalent: interfaces with a single empty-parameter message call), or more
> simply, allow Runnables (or something similar) to be passed which will be
> dynamically executed if the log message is enabled.
> The use case here is that although string construction of the log message is
> a performance issue that is already solved quite well, the problem of adding
> in information to the log message that makes other calculations still needs
> to be wrapped in an if check.
> I'm not sure if it'd be best to just use Runnable, or create a new interface,
> or try to emulate how Java 1.8 lambdas work via an interface with a single
> method defined. The details here would still need to be fleshed out, but I
> think this sort of feature could be rather handy (especially in a Java 1.8+
> environment, or in Groovy/Scala/etc.).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]