在新版本的 IntelliJ (2019)和 Spring Boot (2.0)中,在 IntelliJ 中运行 Spring Boot 应用程序可以正确输出颜色日志,但是在运行单元测试时没有检测到控制台,因此不使用颜色日志。为了强制 Spring Boot 总是考虑有一个控制台,即使它不能找到一个设置以下属性:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:.../slf4j-simple-1.7.21.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:.../logback-classic-1.1.7.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
如您所见,有两个绑定指向两个日志记录器框架。
他们每个人都使用自己的颜色模式。那么哪一个会被 Spring 靴子选中呢?根据这个 教程,它将得到名单上的最后一个。这意味着您的颜色模式现在取决于一些令人愉快的随机选择(没有时间研究列表如何组装)。