SLF4J 多重绑定

SLF4J Multiple bindings

我在 scala 中遇到了 SLF4J: Class path contains multiple SLF4J bindings 错误。我知道有很多关于这个的论坛和讨论,这个警告不是我的问题。我可以通过排除 build.sbt 中的一个冲突条目来消除警告。在我的例子中,冲突的包是 org.slf4jch.qos.logback。因此,我可以通过在 build.sbt.

中输入以下内容之一来消除警告
libraryDependencies ~= {_.map(_.exclude("ch.qos.logback", "logback-classic"))}

libraryDependencies ~= {_.map(_.exclude("org.slf4j", "slf4j-log4j12"))}

我的问题是,当我摆脱这个警告时,它会弄乱 windows 命令提示符中的输出(是的,这需要 运行 on windows)。

排除 org.slf4j 在命令 window 中显示奇怪的字符。这些字符未显示在我的 intelliJ 控制台中。

如果我排除 ch.qos.logback,输出看起来不错,但命令提示符不会显示任何低于错误级别的日志消息。

我想我想排除 org.slf4j 以便我可以使用 logback.xml 轻松配置我的记录器。有谁知道为什么在第一种情况下命令行上有奇怪的字符以及如何解决它。

那些奇怪的符号是用于文本着色和格式设置的 ANSI 转义序列。可能您的 logback 布局配置启用了一些着色。有关详细信息,请参阅:https://logback.qos.ch/manual/layouts.html#coloring