
Hello all, I have a question regarding the behavior of an exception as last parameter. It is very well known that an exception placed as last parameter will have a special handling, having its stack trace printed available in the final output. Ex: ``` logger.warn("Printing a value {} with exception's stacktrace", 23, new Exception("some message")); ``` Outputs something like: ``` 11:35:01.696 [main] WARN App - Printing a value 23 with exception's stacktrace java.lang.Exception: some message at App.main(App.java:7) ~[classes/:na] ``` My question is: what if the message string contains an interpolation expression for that exception parameter? Example: ``` logger.warn("Printing a value {} with an inlined exception {}", 23, new Exception("some message")); ``` Personally I would expect that in this case the exception would be printed just like any other regular parameter, not having its stracktrace printed. Basically, I would expected an exception to have a special handling only when it is the "+1" parameter. It seems to have been the case up to logback-classic:1.0.13 (slf4j-api:1.7.5). Using this version the log statement above prints: ``` 11:35:01.699 [main] WARN App - Printing a value 23 with an inlined exception java.lang.Exception: some message ``` While using logback-classic:1.2.3 (slf4j-api:1.7.25) it prints: ``` 11:38:02.150 [main] WARN App - Printing a value 23 with an inlined exception {} java.lang.Exception: some message at App.main(App.java:8) ``` Apparently the behaviour changed from logback:1.1.0 onwards. Is this a new expected behavior? Unfortunately I couldn't find in the documentation where the expected behavior of this particular situation is explained in more details. So I thought it to be a bit ambiguous. If there one, please, let me know. Thanks in advance. -- Fabio Cechinel Veronez