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