springboot整合logback配置加載順序問題

前應提要:使用logback做日誌,xml中會希望動態讀取yml中的配置參數。比如:(1)日誌的輸出位置可能要根據部署的環境動態進行配置(2)讀取yml中的日誌級別。而logbackxm.xml中使用${xxx.xxx.xxx}讀取不到系統參數

解決方法

  • 步驟一:使用logback-spring.xml
  • 步驟二:xml中增加springProperty

步驟一:使用logback-spring.xml
將原先的logback.xml改成logback-spring.xml。原因是springboot先讀取logback.xml,然後加載yml/properties,再加載logback-spring.xml。官網上的解釋如下:


步驟二:xml中增加springProperty
yml中增加自定義參數,這個參數是自定義的,寫啥都行。

my:
  log:
    path: E:/jd-gateway/logdir

然後xml中配置如下參數。此處注意source要和上面的yml中配置的一致

<!-- 獲取yml中的log地址 -->
<springProperty scope="context" name="logPath" source="my.log.path" defaultValue="logdir"/>

這樣,在xml中就可以使用yml中的參數了,比如

<!-- 日誌文件存儲位置 -->
<property name="log.dir" value="${logPath}" /> 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章