基於Storm的工程中使用log4j


  最近使用Storm開發,發現log4j死活打不出debug級別的日志,網上搜到的關於log4j配置的方法都試過了,均無效。

  最終發現問題是這樣的:最新的storm使用的日志系統已經從log4j切換到了slf4j+logback。那么使用log4j的舊代碼怎么辦呢?為了避免對這些代碼作任何修改,slf4j提供了橋接工具:log4j-over-slf4j,提供與log4j完全相同的類名和接口,但是底層是slf4j的實現。這樣,在依賴了storm的工程中使用log4j,比如org.apache.log4j.Logger,實際找到的是log4j-over-slf4j中的完全同名的類。難怪對log4j.properties作任何修改都不起作用了,因為這里壓根就沒有log4j的任何事情。

  發現這點以后就簡單了:提供logback的配置文件logback.xml,即可起到控制日志輸出的作用。未提供這個文件的時候,Java找到的是storm的jar包里的logback.xml。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM