Spring Boot 項目 Logback 配置文件命名問題

起因

今天在把一個老項目從 war 改成 jar,順帶按照架構部要求升級到 Spring Boot 2。按照他們給的文檔,把 Logback 配置文件名稱修改成了 logback-spring.xml,之後再重啓項目,看日誌輸出路徑以及日誌名稱,怎麼看怎麼對不上。
在這裏插入圖片描述
logback-spring 配置文件中指定的日誌名是 curriculum-gateway.logcurriculum-gateway-error.log,左邊 xx-monitor-service.log 又是什麼鬼?

問題分析

首先就是全局搜索 monitor 關鍵字,只是在 pom 文件中發現了個 jar 包名稱帶 monitor,之後就發現 Spring Boot 用了這個 jar 包裏的 logback.xml 配置文件。之前留意過 Spring Boot 官方文檔中有關 Logback 配置的描述,再看一下
在這裏插入圖片描述
最後又搜了一下,在這個回答中找到了答案,stackoverflow

If spring boot doesn’t find any logback configurations (“logback-test.groovy”, “logback-test.xml”, “logback.groovy”, “logback.xml”) on the classpath, logback-spring.xml will be picked up.

總結

Spring Boot 會在 classpath 下查找是否有 jar 包,包含 logback-test.groovylogback-test.xmllogback.groovy 或者 logback.xml,如果都找不到的話,纔會加載項目路徑下的 logback-spring.xml

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章