我们基本上都知道 Spring 使用的是 logback 为日志配置的。
如果在你的项目中启用了你自己定义的 logback.xml 配置的话,本来是彩色的日志输出就变成黑白色了。
瞬间感觉有点没那么好看了,有没有什么办法让 Spring 在自己的项目中的日志输出也输出彩色呢?
如何修改配置
其实需要修改的地方有几个,但是都是比较简单的修改。
你只需要配置下就行了。
application.properties
在上面的配置文件中添加下面的配置:
spring.output.ansi.enabled=always
这里如果不配置的话,你的日志系统中将不会显示为彩色的日志。
如果你使用的 application.yml 为配置文件的话。
你的配置文件应该看起来如下:
spring: output: ansi: enabled: always
logback.xml
你项目中的 logback.xml 配置文件。
首先需要 include 下面的资源到 logback.xml 这个配置文件上面。
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
然后在输出的 pattern 中,使用下面的配置
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
这样你的控制台就可以输出彩色的配置了。
这样配置的原因很简单,因为 CONSOLE_LOG_PATTERN 这个参数是在资源 org/springframework/boot/logging/logback/defaults.xml 中定义的。
具体定义的内容为:
<property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
你可以访问下面的链接来查看官方的配置: spring-boot/defaults.xml at master · spring-projects/spring-boot · GitHub
我们可以在这里直接引用在官方配置属性配置就可以了,这样你的配置文件就可以输出为彩色的日志了。
如上图,我们可以看到输出的彩色日志。