Spring 日志输出错误字符 -e[0;39m e[2m[

375 阅读1分钟

Spring 的日志在输出的时候,出现了类似 -e[0;39m e[2m[ 的错误。

[![Spring-log-error](https://cdn.ossez.com/discourse-uploads/original/1X/e5d28e955ce53e29985a0f7b9664431ac12d7888.png)](https://cdn.ossez.com/discourse-uploads/original/1X/e5d28e955ce53e29985a0f7b9664431ac12d7888.png "Spring-log-error")

原因和问题解决

能够出现上面的原因是你的控制台输出工具不支持 ANSI 彩色字符,但是你的 Spring 配置文件中又强制了使用彩色字符。

查找你的 Spring 配置文件:application.properties 中的配置:

spring.output.ansi.enabled=ALWAYS

如果你看到上面的参数是 ALWAYS 的话,你需要调整使用为:DETECT

这个配置选项有 3 个参数:

  • ALWAYS:总是输出彩色日志
  • DETECT:根据控制台的情况确定是否输出彩色日志
  • NEVER:永远不输出彩色日志

修改后的配置参数应该为:

spring.output.ansi.enabled=DETECT
[![Spring-log-error-01](https://cdn.ossez.com/discourse-uploads/optimized/1X/060d420bede9711bbc3903a081cf173021ad6940_2_690x381.png)](https://cdn.ossez.com/discourse-uploads/original/1X/060d420bede9711bbc3903a081cf173021ad6940.png "Spring-log-error-01")

然后重新编译后重新运行。

然后检查日志后,你就可以发现你的日志能够显示正常,而不是显示错误的字符了。

[![Spring-log-error-02](https://cdn.ossez.com/discourse-uploads/original/1X/9023901dbdf3aa30a32e7744ac04cbf095b74308.png)](https://cdn.ossez.com/discourse-uploads/original/1X/9023901dbdf3aa30a32e7744ac04cbf095b74308.png "Spring-log-error-02")

其实上面的特殊字符就是 Spring 日志文件中的配色, ANSI 会根据上面的配色来进行显示。

www.ossez.com/t/spring-0-…