carterkozak opened a new pull request #607:
URL: https://github.com/apache/logging-log4j2/pull/607


   Lookups in messages are confusing, and muddy the line between logging APIs
   and implementation. Given a particular API, there's an expectation that a
   particular shape of call will result in specific results. However, lookups
   in messages can be passed into JUL and will result in resolved output in
   log4j formatted output, but not any other implementations despite no direct
   dependency on those implementations.
   
   There's also a cost to searching formatted message strings for particular
   escape sequences which define lookups. This feature is not used as far as
   we've been able to tell searching github and stackoverflow, so it's
   unnecessary for every log event in every application to burn several cpu
   cycles searching for the value.
   
   We've had several users run into confusion due to this feature and request
   a way to turn it off globally. Off should be the default to make the 
framework
   behave more reasonably. Cases when lookups are used would be more obvious
   and efficient if the lookup code itself was written directly as a log-line 
parameter,
   for example:
   ```diff
   if (log.isInfoEnabled()) {
   -    log.error("Foo {ctx:bar}");
   +    log.error("Foo {}", ThreadContext.get("bar"));
   }
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to