Log4j 2
  1. Log4j 2
  2. LOG4J2-448

StringIndexOutOfBounds when using property substitution

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0-beta9
    • Fix Version/s: 2.0-rc2
    • Component/s: API
    • Labels:
      None
    • Environment:

      All

      Description

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

        Issue Links

          Activity

          No work has yet been logged on this issue.

            People

            • Assignee:
              Unassigned
              Reporter:
              X86core
            • Votes:
              2 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development