Spring 的日志在输出的时候,出现了类似 -e[0;39m e[2m[ 的错误。
原因和问题解决
能够出现上面的原因是你的控制台输出工具不支持 ANSI 彩色字符,但是你的 Spring 配置文件中又强制了使用彩色字符。
查找你的 Spring 配置文件:application.properties 中的配置:
spring.output.ansi.enabled=ALWAYS
如果你看到上面的参数是 ALWAYS 的话,你需要调整使用为:DETECT
这个配置选项有 3 个参数:
- ALWAYS:总是输出彩色日志
- DETECT:根据控制台的情况确定是否输出彩色日志
- NEVER:永远不输出彩色日志
修改后的配置参数应该为:
spring.output.ansi.enabled=DETECT
然后重新编译后重新运行。
然后检查日志后,你就可以发现你的日志能够显示正常,而不是显示错误的字符了。
其实上面的特殊字符就是 Spring 日志文件中的配色, ANSI 会根据上面的配色来进行显示。