您好,登錄后才能下訂單哦!
怎么解決在開發環境下可以輸出日志在生產環境沒有日志輸出問題?相信很多新手小白對此束手無策,通過這篇文章的總結,希望你能找到解決的方法。
一、問題說明:在開發環境和測試環境下均可以輸出日志,但在生產環境無日志輸出.
二、發現問題:
1,系統不同:
開發環境和測試環境(windows)
生產環境(linux)
2,提示信息:SLF4J: Class path contains multiple SLF4J bindings(類路徑包含多個SLF4J綁定)
a.找到綁定:
SLF4J: Found binding in [jar:file:/home/service/device/device-tomcat-agv/webapps/showcase/WEB-INF/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
b.找到綁定:
SLF4J: Found binding in [jar:file:/home/service/device/device-tomcat-agv/webapps/showcase/WEB-INF/lib/log4j-slf4j-impl-2.10.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
c.完整日志:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/service/device/device-tomcat-agv/webapps/showcase/WEB-INF/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/service/device/device-tomcat-agv/webapps/showcase/WEB-INF/lib/log4j-slf4j-impl-2.10.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
log4j:WARN No appenders could be found for logger (org.springframework.data.repository.config.RepositoryConfigurationDelegate).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
三、排查問題:
1,開發環境和測試環境(windows):
先加載的是 log4j-slf4j-impl , 后加載的是 slf4j-log4j12 .
2,生產環境:
先加載的是 slf4j-log4j12 , 后加載的是 log4j-slf4j-impl .
四、分析問題:
因為: slf4j 優先綁定先加載的 jar包 .
所以: 開發環境綁定的是 log4j-slf4j-impl .
生產環境綁定的是 slf4j-log4j12 .
官方資料:slf4j 集成 log4j2 時需要的橋接包是 log4j-slf4j-impl 。
開發環境:slf4j 綁定是正確的,因此可以打印日志。
生產環境:slf4j 綁定的 jar 包是 slf4j-log4j12 。所以生產環境輸出不了日志 (產生這個問題的根本原因是lib里面有多個了slf4j可綁定的jar包)
五、解決方案:
由于是 slf4j 綁定 jar 包錯誤而導致打印不了日志。所以我們必須要把這個 slf4j-log4j12.jar 包排除干凈。
jar 包主要來源有:
1:zkclient
2:zookeeper
六、問題總結:
1:使用 slf4j + log4j2 時使用的橋接包是 log4j-slf4j-impl
2:當有多個 slf4j 的橋接包時,一定要排除不需要的包
3:項目啟動時控制臺輸出的信息很重要,耐心觀察啟動日志可以解決很多問題
看完這篇文章,你能夠獨立解決在開發環境下可以輸出日志在生產環境沒有日志輸出問題了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。