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]> > >
