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