I don't think it does.   The fix might be somewhat complex, because several
back-ends (log4j and java-util-logging) don't support message argument
substitution when a throwable is being used.

I'll have to see if I can figure out a suitable fix...

Thanks. -Marshall


On 9/15/2017 3:50 AM, Richard Eckart de Castilho (JIRA) wrote:
>     [ 
> https://issues.apache.org/jira/browse/UIMA-5571?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16167479#comment-16167479
>  ] 
>
> Richard Eckart de Castilho commented on UIMA-5571:
> --------------------------------------------------
>
> SLF4J automatically detects if the last var-arg argument in a logging 
> statement is a Throwable and handles that case to print a stack trace. Does 
> UIMA do that as well?
>
> {noformat}
> log("{0} failed: {1}", action, e.getMessage(), e);
> {noformat}
>
>
>> uv3 log4j bridge not handling multi-substitutable args vs throwable correctly
>> -----------------------------------------------------------------------------
>>
>>                 Key: UIMA-5571
>>                 URL: https://issues.apache.org/jira/browse/UIMA-5571
>>             Project: UIMA
>>          Issue Type: Bug
>>          Components: Core Java Framework
>>    Affects Versions: 3.0.0SDK-alpha02
>>            Reporter: Marshall Schor
>>             Fix For: 3.0.0SDK-beta
>>
>>
>> The log4j (v2) API has calls which allow both a message (with substitutable 
>> parts) and arguments to substitute.
>> It also has calls which allow passing a throwable.
>> The calls that support passing a throwable do not support substituable 
>> parts.  The bridge code assumed that it did.  This resulted in an array of 
>> args being treated as one substitutable value. 
>>  
>> Change the bridge code to call one of two different log4j methods, depending 
>> on whether or not a throwable is being included.
>
>
> --
> This message was sent by Atlassian JIRA
> (v6.4.14#64029)
>

Reply via email to