Uploaded image for project: 'Log4j 2'
  1. Log4j 2
  2. LOG4J2-448

StringIndexOutOfBounds when using property substitution

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.0-beta9
    • 2.0-rc2
    • API
    • None
    • 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)

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: