Remko, that's exactly the method I was thinking of. It almost seems to be a hidden feature. I was arguing with a co-worker earlier today about it and he doesn't believe me that you can do this, partly because it's not documented anywhere as far as I can tell.
On 29 January 2016 at 17:06, Remko Popma <remko.po...@gmail.com> wrote: > Really? I thought ParameterizedMessage took care of that: it checks that > the last param is a Throwable. > > https://logging.apache.org/log4j/2.x/log4j-api/xref/org/apache/logging/log4j/message/ParameterizedMessage.html#L138 > > StringFormattedMessage also: > https://logging.apache.org/log4j/2.x/log4j-api/xref/org/apache/logging/log4j/message/StringFormattedMessage.html#L45 > > Does this not work correctly? > > > > Sent from my iPhone > > > On 2016/01/30, at 7:22, Gary Gregory <garydgreg...@gmail.com> wrote: > > > > That only works when you call an API that is typed with Throwable. > > > > G > >> On Jan 29, 2016 2:11 PM, "Matt Sicker" <boa...@gmail.com> wrote: > >> > >> Why can't it log the stack trace as well? Can't you specify > >> %throwable{full} in the pattern? > >> > >>> On 29 January 2016 at 16:00, Gary Gregory <garydgreg...@gmail.com> > wrote: > >>> > >>> What is misleading IMO is that the var arg API will NOT log the stack > >>> trace. > >>> > >>> There is no way to log with a message template, args, and also an > >>> exception. > >>> > >>> This bites me from time to time. > >>> > >>> What I need is an API that looks like this: > >>> > >>> Logger.debug(ex, "blah {} {}", arg1, arg2): > >>> > >>> Gary > >>>> On Jan 29, 2016 1:28 PM, "Matt Sicker" <boa...@gmail.com> wrote: > >>>> > >>>> Like when you do logger.debug("{}", foo, ex). I know it's supported, > >> but > >>> I > >>>> can't find anywhere that this is mentioned. > >>>> > >>>> -- > >>>> Matt Sicker <boa...@gmail.com> > >> > >> > >> > >> -- > >> Matt Sicker <boa...@gmail.com> > >> > -- Matt Sicker <boa...@gmail.com>