我想完全禁用Spring Boot输出中的颜色,因为日志将被视为纯文本,而不是终端。
如果我传入--spring.output.ansi.enabled=NEVER
作为命令行参数,它会禁用某些颜色,例如说Spring Boot的文本,但后面的日志会像往常一样丰富多彩。如何完全禁用所有颜色?
答案 0 :(得分:0)
我与logback.xml
有类似的问题。通过将withJansi设置为false并消除图案中的颜色来解决此问题。像这样:
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<withJansi>false</withJansi>
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
答案 1 :(得分:0)
如果您想在命令行上传递参数,我相信您已指定了系统属性 spring.output.ansi.enabled
,而不是应用程序的“参数”。您可以使用Java的-D
选项执行此操作。像这样:
$ java -Dspring.output.ansi.enabled=NEVER -jar your-spring-boot-app-here.jar
或者,您可以将application.properties
放置在项目的src / main / resources /目录中,其中包含以下内容:
spring.output.ansi.enabled=NEVER
尽管我建议将属性设置为DETECT
而不是NEVER
。至少在原则上,这应该自动检测标准输出是绑定到终端还是文件,并且在重定向到不支持颜色输出的设备时,将自动禁用颜色输出。不确定该功能的运行情况如何。