mirror of https://github.com/sbt/sbt.git
sbt passes raw string messages in `ConsoleAppenderFromLog4J` to `StringFormatterMessageFactory`. This is wrong because these strings are pre-formatted and should not be processed again for formatting. There is no way to pass parameters to them anyway. This causes problems when the raw strings contain characters that `StringFormatterMessageFactory` wants to interpret. For example, when using `-Ystatistics`: ``` ERROR StatusConsoleListener Unable to format msg: nscprofiling : 1 spans, ()7.543ms (0.3%) java.util.UnknownFormatConversionException: Conversion = ')' at java.base/java.util.Formatter.checkText(Formatter.java:2732) at java.base/java.util.Formatter.parse(Formatter.java:2718) at java.base/java.util.Formatter.format(Formatter.java:2655) at java.base/java.util.Formatter.format(Formatter.java:2609) at java.base/java.lang.String.format(String.java:2938) at org.apache.logging.log4j.message.StringFormattedMessage.formatMessage(StringFormattedMessage.java:121) at org.apache.logging.log4j.message.StringFormattedMessage.getFormattedMessage(StringFormattedMessage.java:89) at sbt.internal.util.Appender.$anonfun$appendMessage$1(ConsoleAppender.scala:522) ... ``` |
||
|---|---|---|
| .. | ||
| src | ||
| NOTICE | ||