rgoers commented on issue #3473:
URL: 
https://github.com/apache/logging-log4j2/issues/3473#issuecomment-2692863035

   The current behavior is actually intentional.
   
   There is a ton of ambiguity involved when the last parameter is a throwable. 
Log4j 2 included this behavior since it was present in SLF4J, which we were 
trying hard to be compatible with for the most part. But it was a really bad 
idea. 
   
   The problem here is that just because a throwable occurs as the last 
parameter does not necessarily mean it will be logged as a throwable. That 
depends on what the chosen layout chooses to do. In the case of the 
PatternLayout my recollection is that if there are enough parameters in the 
format string to include the throwable then it will end up only showing the 
exception message, otherwise the full stack trace gets printed. Log4j can't 
know anything about the behavior of a layout at compile time as it has no idea 
what the configuration will be.
   
   As a consequence, when LogBuilder came along we decided to be explicit about 
when a throwable will be treated as a throwable - i.e - only when withThrowable 
is specified. I would be very reluctant to change this.


-- 
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: notifications-unsubscr...@logging.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to