Uploaded image for project: 'logback'
  1. logback
  2. LOGBACK-1108

Color syntaxing in Pattern not parsed correctly

    XMLWordPrintable

Details

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • 1.1.3
    • logback-core
    • None
    • Win7 64bits, JDK 1.8.0_u60

    Description

      Using this onfiguration file:

      logback.xml
      <configuration debug="true" scan="true" scanPeriod="5 seconds">
        <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
          <encoder>
            <pattern>%d{HH:mm:ss.SSS} %boldBlue(%-5level) [%yellow(%thread)] %logger{36}\(%blue(%M):%blue(%L)\) - %green(%msg%n)</pattern>
          </encoder>
        </appender>
      
      
        <root level="INFO">
          <appender-ref ref="CONSOLE"/>
        </root>
      </configuration>
      

      The following exception is thrown:

      08:53:23,848 |-ERROR in ch.qos.logback.classic.PatternLayout("%d{HH:mm:ss.SSS} %boldBlue(%-5level) [%yellow(%thread)] %logger{36} \(%blue(%M):%blue(%L)\) - %green(%msg%n)") - Failed to parse pattern "%d{HH:mm:ss.SSS} %boldBlue(%-5level) [%yellow(%thread)] %logger{36} \(%blue(%M):%blue(%L)\) - %green(%msg%n)". ch.qos.logback.core.spi.ScanException: Failed to initialize Parser
      	at ch.qos.logback.core.spi.ScanException: Failed to initialize Parser
      	at 	at ch.qos.logback.core.pattern.parser.Parser.<init>(Parser.java:74)
      	at 	at ch.qos.logback.core.pattern.parser.Parser.<init>(Parser.java:66)
      	at 	at ch.qos.logback.core.pattern.PatternLayoutBase.start(PatternLayoutBase.java:81)
      	at 	at ch.qos.logback.classic.encoder.PatternLayoutEncoder.start(PatternLayoutEncoder.java:28)
      	at 	at ch.qos.logback.core.joran.action.NestedComplexPropertyIA.end(NestedComplexPropertyIA.java:167)
      	at 	at ch.qos.logback.core.joran.spi.Interpreter.callEndAction(Interpreter.java:317)
      	at 	at ch.qos.logback.core.joran.spi.Interpreter.endElement(Interpreter.java:196)
      	at 	at ch.qos.logback.core.joran.spi.Interpreter.endElement(Interpreter.java:182)
      	at 	at ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:62)
      	at 	at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:149)
      	at 	at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:135)
      	at 	at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:99)
      	at 	at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:49)
      	at 	at ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread.performXMLConfiguration(ReconfigureOnChangeFilter.java:216)
      	at 	at ch.qos.logback.classic.turbo.ReconfigureOnChangeFilter$ReconfiguringThread.run(ReconfigureOnChangeFilter.java:194)
      	at 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      	at 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	at 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	at 	at java.lang.Thread.run(Thread.java:745)
      Caused by: java.lang.IllegalArgumentException: Illegal char ') at column 91. Only \\, \_, \%, \{, \}, \t, \n, \r combinations are allowed as escape characters.
      	at 	at ch.qos.logback.core.pattern.util.RegularEscapeUtil.escape(RegularEscapeUtil.java:46)
      	at 	at ch.qos.logback.core.pattern.parser.TokenStream.escape(TokenStream.java:217)
      	at 	at ch.qos.logback.core.pattern.parser.TokenStream.handleRightParenthesisState(TokenStream.java:133)
      	at 	at ch.qos.logback.core.pattern.parser.TokenStream.tokenize(TokenStream.java:97)
      	at 	at ch.qos.logback.core.pattern.parser.Parser.<init>(Parser.java:72)
      	at 	... 19 common frames omitted
      

      It seems to me that coloring cannot be performed within an escaped parenthesis block...

      Attachments

        Activity

          People

            logback-dev Logback dev list
            lviegas L.Viegas
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: