Paul - you should add your comment to the Jira issue.

Ralph

> On Aug 7, 2015, at 11:00 AM, Paul Benedict <[email protected] 
> <mailto:[email protected]>> 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) <[email protected] 
> <mailto:[email protected]>> 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: [email protected] 
> <mailto:[email protected]>
> For additional commands, e-mail: [email protected] 
> <mailto:[email protected]>
> 
> 

Reply via email to