slf4j 更新版本導致無日誌輸出

weixin_33861800發表於2018-01-05

title: slf4j 更新版本導致無日誌輸出 tags:

  • SLF4J
  • java9
  • 日誌
  • maven
  • NOPLogger categories: 工作日誌 date: 2017-03-25 18:18:55

目前配件erp後臺接收到錯誤會自動傳送郵件給對應開發

通常會帶上錯誤時間,錯誤方法名,錯誤發生的其他資訊(使用者門店)引數等等便於排查。

每天清晨還會統計系統中發生錯誤的個數但是

經過排查發現線索如下

erp系統的啟動在04-08大約6點之後全部變成unstable。

由於erp的啟動是非同步啟動 因此開發人員並未察覺(系統正常執行)

因此大概猜測是由於開發修改了logback的相關配置導致日誌不輸出

檢視對應時間的歷史變更後發現修改如下

並沒有任何和log相關的提交。調查一度陷入了僵局。

因此只能通過日誌不輸出的方向考慮。日誌不輸出很有可能是使用了NOPLogger,那麼考慮是否是有開發修改了pom檔案導致依賴發生變更呢?

查詢如下

原來開發引用jar沒有指定特定的版本,同時沒有將對應的依賴寫到dependencyManagement。

對於maven中央倉庫如有更新,則會自動更新對應的jar

恰巧0408那一天 slf4j發了新的版本的元件導致jar被更新。對此slf4j的說明如下

為了Java1.9 只能說也是蠻拼的……

對策如下:

修改為指定版本抽取到根pom中

去除release版本依賴

一切正常

開發在引用jar的同事注意version等,最好在dependencyManagement指定特定的版本號

相關文章