logging-log4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yogesh Rao (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (LOG4J2-811) SimpleLogger throws ArrayIndexOutOfBoundsException for an empty array
Date Wed, 03 Sep 2014 05:48:52 GMT

    [ https://issues.apache.org/jira/browse/LOG4J2-811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14119396#comment-14119396
] 

Yogesh Rao edited comment on LOG4J2-811 at 9/3/14 5:48 AM:
-----------------------------------------------------------

Also consider the case where the logging is done pretty much dynamic.. so one wouldnt be sure
if the message generated to log has a placeholder within it.
{code}
for(...;...;...) {
 Sting s = // dynamically constructed string ... Here the user may or may not include the
place holder
 Object[] param =  // dynamically constructed param array
 logger.info(s,arr);
}
{code}
Fixing the check for param array size > 0 should enable the user to use it such scenarios
as well.

WDYT ?


was (Author: yogu13):
Also consider the case where the logging is done pretty much dynamic.. so one wouldnt be sure
if the message generated to log has a placeholder within it.
<code>
for(...;...;...) {
 Sting s = // dynamically constructed string ... Here the user may or may not include the
place holder
 Object[] param =  // dynmically constructed param array
 logger.info(s,arr);
}
</code>
Fixing the check for param array size > 0 should enable the user to use it such scenarios
as well.

WDYT ?

> SimpleLogger throws ArrayIndexOutOfBoundsException for an empty array
> ---------------------------------------------------------------------
>
>                 Key: LOG4J2-811
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-811
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: API
>    Affects Versions: 2.0.1
>            Reporter: Yogesh Rao
>              Labels: patch
>             Fix For: 2.1
>
>
> There seems to be an issue with SimpleLogger implementation provided by log4j2. The issue
seems to be in the new improved API supporting placeholders and var args when called with
an Object Array of size 0.
> for e.g logger.error("Hello World {} in {} " , new Object[0]);
> A statement above results in an error as shown below
> ERROR StatusLogger Unable to locate a logging implementation, using SimpleLogger
> Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1
>        at org.apache.logging.log4j.simple.SimpleLogger.logMessage(SimpleLogger.java:157)
>        at org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:1347)
>        at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1312)
>        at org.apache.logging.log4j.spi.AbstractLogger.error(AbstractLogger.java:539)
>        at TestError.main(TestError.java:21)
> Solution to place a check in SimpleLogger for checking the size of the array . 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org


Mime
View raw message