Details
-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
1.1.3
-
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...