[
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)