我們基本上都知道 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}}"/>
你可以訪問下面的鏈接來查看官方的配置: https://github.com/spring-projects/spring-boot/blob/master/spring-boot-project/spring-boot/src/main/resources/org/springframework/boot/logging/logback/defaults.xml
我們可以在這里直接引用在官方配置屬性配置就可以了,這樣你的配置文件就可以輸出為彩色的日志了。
如上圖,我們可以看到輸出的彩色日志。