Please review the PR for LOG4J2-2639 at 
https://github.com/apache/logging-log4j2/pull/284 
<https://github.com/apache/logging-log4j2/pull/284>. This adds new Logger 
methods to allow a builder pattern to be used to accumulate the parameters to a 
logging call before logging the event. I got this idea from messages on the 
SLF4J list but I haven’t looked at that code at all so I have no idea how Ceki 
implemented that. To be honest, the only reason I implemented this was because 
it allows the location information to be exposed and calculated in a hopefully 
more efficient way. I haven’t run tests to verify that but the default way of 
calculating a location only requires looking up 2 levels in the call stack 
instead of dynamically searching for the matching FQCN.

I haven’t written the doc for this yet but a typical logging call might look 
like:

logger.atDebug().withLocation().withMessage(*Hello 
{}”).withParameters(“Sam”).withMarker(myMarker).log();

This feature is only implemented on master as it takes advantage of Java 8 
default methods to maintain backward compatibility. 

Ralph

Reply via email to