[
https://issues.apache.org/jira/browse/LOG4J2-448?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13974854#comment-13974854
]
Després Gwénaël edited comment on LOG4J2-448 at 4/19/14 1:25 PM:
-----------------------------------------------------------------
Hi, I have the same issue with my test. It's easily reproducible with the conf
:
{code:title=log4j2.xml.java|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="warn">
<properties>
<property
name="filters">org.junit,org.apache.maven,org.eclipse,sun.reflect,java.lang.reflect</property>
</properties>
<appenders>
<console name="console" target="SYSTEM_OUT">
<patternLayout pattern="%d{HH:mm:ss,SSS} [%t] %-5level
[$${date:yyyyMMdd.HHmmSS}] %logger{1}.%method:%line -
%msg%n%rEx{filters(${filters})}" />
</console>
</appenders>
<loggers>
<root level="warn">
<appenderRef ref="console" />
</root>
</loggers>
</configuration>
{code}
In the example I use $${date:xxx} but in real, I use a personal lookup.
was (Author: gdespres):
Hi, I have the same issue with my test. It's easily reproducible with the conf
:
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="warn">
<properties>
<property
name="filters">org.junit,org.apache.maven,org.eclipse,sun.reflect,java.lang.reflect</property>
</properties>
<appenders>
<console name="console" target="SYSTEM_OUT">
<patternLayout pattern="%d{HH:mm:ss,SSS} [%t] %-5level
[$${date:yyyyMMdd.HHmmSS}] %logger{1}.%method:%line -
%msg%n%rEx{filters(${filters})}" />
</console>
</appenders>
<loggers>
<root level="warn">
<appenderRef ref="console" />
</root>
</loggers>
</configuration>
In the example I use $${date:xxx} but in real, I use a personal lookup.
> StringIndexOutOfBounds when using property substitution
> ---------------------------------------------------------
>
> Key: LOG4J2-448
> URL: https://issues.apache.org/jira/browse/LOG4J2-448
> Project: Log4j 2
> Issue Type: Bug
> Components: API
> Affects Versions: 2.0-beta9
> Environment: All
> Reporter: X86core
>
> @org.apache.logging.log4j.core.lookup.StrSubstitutor# substitute(LogEvent ,
> StringBuilder , int , int , List<String> ) @ Line 816-817 @new String(chars,
> offset, length). The String should be new String(chars,
> offset, length + lengthChange) this is because of the character
> deletion that might have happened for '$".
> See trace below:
> Exception in thread "main" java.lang.ExceptionInInitializerError
> Caused by: java.lang.StringIndexOutOfBoundsException: String index out of
> range: 63
> at java.lang.String.<init>(String.java:201)
> at
> org.apache.logging.log4j.core.lookup.StrSubstitutor.substitute(StrSubstitutor.java:848)
> at
> org.apache.logging.log4j.core.lookup.StrSubstitutor.substitute(StrSubstitutor.java:761)
> at
> org.apache.logging.log4j.core.lookup.StrSubstitutor.substitute(StrSubstitutor.java:737)
> at
> org.apache.logging.log4j.core.lookup.StrSubstitutor.replace(StrSubstitutor.java:306)
> at
> org.apache.logging.log4j.core.config.BaseConfiguration.createPluginObject(BaseConfiguration.java:720)
> at
> org.apache.logging.log4j.core.config.BaseConfiguration.createConfiguration(BaseConfiguration.java:595)
> at
> org.apache.logging.log4j.core.config.BaseConfiguration.createConfiguration(BaseConfiguration.java:587)
> at
> org.apache.logging.log4j.core.config.BaseConfiguration.doConfigure(BaseConfiguration.java:244)
> at
> org.apache.logging.log4j.core.config.BaseConfiguration.start(BaseConfiguration.java:142)
> at
> org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:339)
> at
> org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:378)
> at
> org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:149)
> at
> org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:85)
> at
> org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:34)
> at org.apache.logging.log4j.LogManager.getContext(LogManager.java:200)
> at
> org.slf4j.helpers.Log4jLoggerFactory$PrivateManager.getContext(Log4jLoggerFactory.java:104)
> at
> org.slf4j.helpers.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:90)
> at
> org.slf4j.helpers.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:46)
> at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:270)
> at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:281)
--
This message was sent by Atlassian JIRA
(v6.2#6252)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]