logging-log4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ralph Goers <ralph.go...@dslextreme.com>
Subject Re: [jira] [Comment Edited] (LOG4J2-599) Support lambda functions (or similar) for log message parameters
Date Fri, 07 Aug 2015 22:11:32 GMT
Paul - you should add your comment to the Jira issue.

Ralph

> On Aug 7, 2015, at 11:00 AM, Paul Benedict <pbenedict@apache.org <mailto:pbenedict@apache.org>>
wrote:
> 
> With Java 8 you can add default methods. It won't hurt any implementations as long as
you provide a default implementation in Logger's interface.
> 
> 
> Cheers,
> Paul
> 
> On Fri, Aug 7, 2015 at 12:58 PM, Gary Gregory (JIRA) <jira@apache.org <mailto:jira@apache.org>>
wrote:
> 
>     [ https://issues.apache.org/jira/browse/LOG4J2-599?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14662153#comment-14662153
<https://issues.apache.org/jira/browse/LOG4J2-599?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14662153#comment-14662153>
]
> 
> Gary Gregory edited comment on LOG4J2-599 at 8/7/15 5:58 PM:
> -------------------------------------------------------------
> 
> Here is one argument against all these names: What about efficient APIs for
> {code:java}
> org.apache.logging.log4j.Logger.debug(Marker, String, Object...)
> {code}
> Like:
> {code:java}
> org.apache.logging.log4j.Logger.debug(Marker, String, Object)
> org.apache.logging.log4j.Logger.debug(Marker, String, Object, Object)
> org.apache.logging.log4j.Logger.debug(Marker, String, Object, Object, Object)
> {code}
> 
> and so on for trace, info, ...
> 
> If we add more public APIs, we should add all that we need, like the above. Otherwise
we'll end up with:
> 
> - Logger
> - Logger2 extends Logger
> - Logger3 extends Logger2
> - ...
> 
> 
> 
> 
> was (Author: garydgregory):
> Here is one argument against all these names: What about efficient APIs for
> {code:java}
> org.apache.logging.log4j.Logger.debug(Marker, String, Object...)
> {code}
> Like:
> {code:java}
> org.apache.logging.log4j.Logger.debug(Marker, String, Object)
> org.apache.logging.log4j.Logger.debug(Marker, String, Object, Object)
> org.apache.logging.log4j.Logger.debug(Marker, String, Object, Object, Object)
> {code}
> 
> and so on for trace, info, ...
> 
> 
> > Support lambda functions (or similar) for log message parameters
> > ----------------------------------------------------------------
> >
> >                 Key: LOG4J2-599
> >                 URL: https://issues.apache.org/jira/browse/LOG4J2-599 <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: log4j-dev-unsubscribe@logging.apache.org <mailto:log4j-dev-unsubscribe@logging.apache.org>
> For additional commands, e-mail: log4j-dev-help@logging.apache.org <mailto:log4j-dev-help@logging.apache.org>
> 
> 


Mime
View raw message