[ 
https://issues.apache.org/jira/browse/LOG4J2-651?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nikita Koval updated LOG4J2-651:
--------------------------------

    Description: 
Sometimes, logging throws ~java.lang.ArrayIndexOutOfBoundsException~: 
{noformat}
2014-05-23 01:01:37,019 ERROR An exception occurred processing Appender Err 
java.lang.ArrayIndexOutOfBoundsException: 6
        at 
org.apache.logging.log4j.core.impl.ThrowableProxy.formatElements(ThrowableProxy.java:269)
        at 
org.apache.logging.log4j.core.impl.ThrowableProxy.getExtendedStackTrace(ThrowableProxy.java:232)
        at 
org.apache.logging.log4j.core.pattern.ExtendedThrowablePatternConverter.format(ExtendedThrowablePatternConverter.java:72)
        at 
org.apache.logging.log4j.core.pattern.PatternFormatter.format(PatternFormatter.java:36)
        at 
org.apache.logging.log4j.core.layout.PatternLayout.toSerializable(PatternLayout.java:172)
        at 
org.apache.logging.log4j.core.layout.PatternLayout.toSerializable(PatternLayout.java:52)
        at 
org.apache.logging.log4j.core.layout.AbstractStringLayout.toByteArray(AbstractStringLayout.java:45)
        at 
org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.append(AbstractOutputStreamAppender.java:118)
        at 
org.apache.logging.log4j.core.appender.RollingFileAppender.append(RollingFileAppender.java:85)
        at 
org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:97)
        at 
org.apache.logging.log4j.core.appender.AsyncAppender$AsyncThread.callAppenders(AsyncAppender.java:276)
        at 
org.apache.logging.log4j.core.appender.AsyncAppender$AsyncThread.run(AsyncAppender.java:239)
{noformat}

Here is configuration:
{code}
<Configuration status="warn">

<Appenders>
    <Async name="Async" bufferSize="2048" blocking="${BLOCKING_LOG}">
        <appender-ref ref="A1"/>
        <appender-ref ref="Err"/>
    </Async>

    <Async name="Async-profiler" bufferSize="2048" blocking="${BLOCKING_LOG}">
        <appender-ref ref="Profiler"/>
    </Async>

    <RollingFile name="A1" fileName="${GFT_VAR}/log/${target}.log" 
filePattern="${GFT_VAR}/log/${target}.log.%i">
        <PatternLayout pattern="[%d] [%t] %-5p %c - %m%n"/>
        <DefaultRolloverStrategy max="3"/>
        <Policies>
            <SizeBasedTriggeringPolicy size="50Mb"/>
        </Policies>
    </RollingFile>

    <RollingFile name="Err" fileName="${GFT_VAR}/log/${target}.err" 
filePattern="${GFT_VAR}/log/${target}.err.%i">
        <ThresholdFilter level="WARN" onMatch="ACCEPT" onMismatch="DENY"/>
        <PatternLayout pattern="[%d] [%t] %-5p %c - %m%n"/>
        <DefaultRolloverStrategy max="2"/>
        <Policies>
            <SizeBasedTriggeringPolicy size="10MB"/>
        </Policies>
    </RollingFile>

    <RollingFile name="Profiler" fileName="${GFT_VAR}/log/${target}.stat"
                 filePattern="${GFT_VAR}/log/${target}.stat.%i">
        <PatternLayout pattern="[%d] [%t] %-5p %c - %m%n"/>
        <DefaultRolloverStrategy max="3"/>
        <Policies>
            <SizeBasedTriggeringPolicy size="10MB"/>
        </Policies>
    </RollingFile>

</Appenders>

<Loggers>
    <Root level="debug">
        <AppenderRef ref="Async"/>
    </Root>

    <Logger name="net.sf" level="info">
        <AppenderRef ref="Async"/>
    </Logger>

    <Logger name="org.springframework.jdbc.core.JdbcTemplate" level="info">
        <AppenderRef ref="Async"/>
    </Logger>

    <Logger name="gft.service.stats.PoolableMetrics" additivity="false" 
level="info">
        <AppenderRef ref="Async"/>
    </Logger>

    <Logger name="gft.util.profiling.Profiler" additivity="false">
        <AppenderRef ref="Async-profiler"/>
    </Logger>

</Loggers>

</Configuration>
{code}

  was:
Sometimes, logging throws {{java.lang.ArrayIndexOutOfBoundsException}}: 
{noformat}
2014-05-23 01:01:37,019 ERROR An exception occurred processing Appender Err 
java.lang.ArrayIndexOutOfBoundsException: 6
        at 
org.apache.logging.log4j.core.impl.ThrowableProxy.formatElements(ThrowableProxy.java:269)
        at 
org.apache.logging.log4j.core.impl.ThrowableProxy.getExtendedStackTrace(ThrowableProxy.java:232)
        at 
org.apache.logging.log4j.core.pattern.ExtendedThrowablePatternConverter.format(ExtendedThrowablePatternConverter.java:72)
        at 
org.apache.logging.log4j.core.pattern.PatternFormatter.format(PatternFormatter.java:36)
        at 
org.apache.logging.log4j.core.layout.PatternLayout.toSerializable(PatternLayout.java:172)
        at 
org.apache.logging.log4j.core.layout.PatternLayout.toSerializable(PatternLayout.java:52)
        at 
org.apache.logging.log4j.core.layout.AbstractStringLayout.toByteArray(AbstractStringLayout.java:45)
        at 
org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.append(AbstractOutputStreamAppender.java:118)
        at 
org.apache.logging.log4j.core.appender.RollingFileAppender.append(RollingFileAppender.java:85)
        at 
org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:97)
        at 
org.apache.logging.log4j.core.appender.AsyncAppender$AsyncThread.callAppenders(AsyncAppender.java:276)
        at 
org.apache.logging.log4j.core.appender.AsyncAppender$AsyncThread.run(AsyncAppender.java:239)
{noformat}

Here is configuration:
{code}
<Configuration status="warn">

<Appenders>
    <Async name="Async" bufferSize="2048" blocking="${BLOCKING_LOG}">
        <appender-ref ref="A1"/>
        <appender-ref ref="Err"/>
    </Async>

    <Async name="Async-profiler" bufferSize="2048" blocking="${BLOCKING_LOG}">
        <appender-ref ref="Profiler"/>
    </Async>

    <RollingFile name="A1" fileName="${GFT_VAR}/log/${target}.log" 
filePattern="${GFT_VAR}/log/${target}.log.%i">
        <PatternLayout pattern="[%d] [%t] %-5p %c - %m%n"/>
        <DefaultRolloverStrategy max="3"/>
        <Policies>
            <SizeBasedTriggeringPolicy size="50Mb"/>
        </Policies>
    </RollingFile>

    <RollingFile name="Err" fileName="${GFT_VAR}/log/${target}.err" 
filePattern="${GFT_VAR}/log/${target}.err.%i">
        <ThresholdFilter level="WARN" onMatch="ACCEPT" onMismatch="DENY"/>
        <PatternLayout pattern="[%d] [%t] %-5p %c - %m%n"/>
        <DefaultRolloverStrategy max="2"/>
        <Policies>
            <SizeBasedTriggeringPolicy size="10MB"/>
        </Policies>
    </RollingFile>

    <RollingFile name="Profiler" fileName="${GFT_VAR}/log/${target}.stat"
                 filePattern="${GFT_VAR}/log/${target}.stat.%i">
        <PatternLayout pattern="[%d] [%t] %-5p %c - %m%n"/>
        <DefaultRolloverStrategy max="3"/>
        <Policies>
            <SizeBasedTriggeringPolicy size="10MB"/>
        </Policies>
    </RollingFile>

</Appenders>

<Loggers>
    <Root level="debug">
        <AppenderRef ref="Async"/>
    </Root>

    <Logger name="net.sf" level="info">
        <AppenderRef ref="Async"/>
    </Logger>

    <Logger name="org.springframework.jdbc.core.JdbcTemplate" level="info">
        <AppenderRef ref="Async"/>
    </Logger>

    <Logger name="gft.service.stats.PoolableMetrics" additivity="false" 
level="info">
        <AppenderRef ref="Async"/>
    </Logger>

    <Logger name="gft.util.profiling.Profiler" additivity="false">
        <AppenderRef ref="Async-profiler"/>
    </Logger>

</Loggers>

</Configuration>
{code}


> Log4j 2 throws ArrayIndexOutOfBoundsException
> ---------------------------------------------
>
>                 Key: LOG4J2-651
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-651
>             Project: Log4j 2
>          Issue Type: Bug
>            Reporter: Nikita Koval
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> Sometimes, logging throws ~java.lang.ArrayIndexOutOfBoundsException~: 
> {noformat}
> 2014-05-23 01:01:37,019 ERROR An exception occurred processing Appender Err 
> java.lang.ArrayIndexOutOfBoundsException: 6
>         at 
> org.apache.logging.log4j.core.impl.ThrowableProxy.formatElements(ThrowableProxy.java:269)
>         at 
> org.apache.logging.log4j.core.impl.ThrowableProxy.getExtendedStackTrace(ThrowableProxy.java:232)
>         at 
> org.apache.logging.log4j.core.pattern.ExtendedThrowablePatternConverter.format(ExtendedThrowablePatternConverter.java:72)
>         at 
> org.apache.logging.log4j.core.pattern.PatternFormatter.format(PatternFormatter.java:36)
>         at 
> org.apache.logging.log4j.core.layout.PatternLayout.toSerializable(PatternLayout.java:172)
>         at 
> org.apache.logging.log4j.core.layout.PatternLayout.toSerializable(PatternLayout.java:52)
>         at 
> org.apache.logging.log4j.core.layout.AbstractStringLayout.toByteArray(AbstractStringLayout.java:45)
>         at 
> org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.append(AbstractOutputStreamAppender.java:118)
>         at 
> org.apache.logging.log4j.core.appender.RollingFileAppender.append(RollingFileAppender.java:85)
>         at 
> org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:97)
>         at 
> org.apache.logging.log4j.core.appender.AsyncAppender$AsyncThread.callAppenders(AsyncAppender.java:276)
>         at 
> org.apache.logging.log4j.core.appender.AsyncAppender$AsyncThread.run(AsyncAppender.java:239)
> {noformat}
> Here is configuration:
> {code}
> <Configuration status="warn">
> <Appenders>
>     <Async name="Async" bufferSize="2048" blocking="${BLOCKING_LOG}">
>         <appender-ref ref="A1"/>
>         <appender-ref ref="Err"/>
>     </Async>
>     <Async name="Async-profiler" bufferSize="2048" blocking="${BLOCKING_LOG}">
>         <appender-ref ref="Profiler"/>
>     </Async>
>     <RollingFile name="A1" fileName="${GFT_VAR}/log/${target}.log" 
> filePattern="${GFT_VAR}/log/${target}.log.%i">
>         <PatternLayout pattern="[%d] [%t] %-5p %c - %m%n"/>
>         <DefaultRolloverStrategy max="3"/>
>         <Policies>
>             <SizeBasedTriggeringPolicy size="50Mb"/>
>         </Policies>
>     </RollingFile>
>     <RollingFile name="Err" fileName="${GFT_VAR}/log/${target}.err" 
> filePattern="${GFT_VAR}/log/${target}.err.%i">
>         <ThresholdFilter level="WARN" onMatch="ACCEPT" onMismatch="DENY"/>
>         <PatternLayout pattern="[%d] [%t] %-5p %c - %m%n"/>
>         <DefaultRolloverStrategy max="2"/>
>         <Policies>
>             <SizeBasedTriggeringPolicy size="10MB"/>
>         </Policies>
>     </RollingFile>
>     <RollingFile name="Profiler" fileName="${GFT_VAR}/log/${target}.stat"
>                  filePattern="${GFT_VAR}/log/${target}.stat.%i">
>         <PatternLayout pattern="[%d] [%t] %-5p %c - %m%n"/>
>         <DefaultRolloverStrategy max="3"/>
>         <Policies>
>             <SizeBasedTriggeringPolicy size="10MB"/>
>         </Policies>
>     </RollingFile>
> </Appenders>
> <Loggers>
>     <Root level="debug">
>         <AppenderRef ref="Async"/>
>     </Root>
>     <Logger name="net.sf" level="info">
>         <AppenderRef ref="Async"/>
>     </Logger>
>     <Logger name="org.springframework.jdbc.core.JdbcTemplate" level="info">
>         <AppenderRef ref="Async"/>
>     </Logger>
>     <Logger name="gft.service.stats.PoolableMetrics" additivity="false" 
> level="info">
>         <AppenderRef ref="Async"/>
>     </Logger>
>     <Logger name="gft.util.profiling.Profiler" additivity="false">
>         <AppenderRef ref="Async-profiler"/>
>     </Logger>
> </Loggers>
> </Configuration>
> {code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to