Spring Boot自定義Logback
Spring Boot
Spring
Java
在《Java面試題 Part9 Spring事務的處理過程》中,為了看一下Spring AOP對事務的處理,我添加了log的配置:
在resources目錄下增加logback-spring.xml,內容如下:
logback-spring.xml
執行一次請求,列出如下日誌:
日誌輸出
但是在實際工作中,這些配置滿足不了我們的個性化需求,比如:精簡一下log內容(把PID去掉),輸出SQL,指定log文件等。
後面將對logback-spring.xml進行改造。
base.xml
之前的logback-spring.xml文件,首先就引入了base.xml,這個文件就在spring-boot這個jar內的
base.xml位置
打開可以看到
base.xml內容
我們的改造就基於對這些配置與文件的學習。
默認配置
在logback-spring.xml中,我們去掉對base.xml的引用,改為defaults.xml
自定義logback配置
注意,實際工作中root這個節點一定要放在文件的最後面,後面的配置內容要在include和root兩個節點之間。
控制台
在defaults.xml中,有個"CONSOLE_LOG_PATTERN"的屬性,這個就是控制台輸出的格式,因為我不想要顯示PID,所以仿照defaults.xml與coosole-appender.xml新建了如下屬性:
控制台輸出配置
輸出的格式就是對"CONSOLE_LOG_PATTERN"做了刪減。
注意三個紅框都要修改。這麼做,控制台輸出的log格式就可以自定義,並且還是彩色的。
日誌文件
默認的日誌文件輸出配置在file-appender.xml,仿照其做如下配置:
日誌文件輸出
配置要顯示日誌的類
日誌輸出層
這裡我少寫了Service層的日誌,實際中應該加上。
代碼:
日誌代碼
結果
自定義日誌輸出
對比第一個日誌,PID就沒了,但是彩色還保留著。
第一個紅框就是SQL語句。
第二個紅框里,在代碼中我們寫了Debug MSG,但是在配置里我們配置的是info,所以只輸出了info、warn、error信息。
※Docker掛載主機目錄(基於Tomcat)
※Docker與主機互傳文件(基於Tomcat)
※Spring Cloud Feign重試
※構建運行Spring Boot的Docker
※Spring Cloud消息隊列與消息匯流排更新Config
TAG:Java個人學習心得 |