2012-04-12 29 views
39

我們使用slf4j + logback,碰巧有一些使用commons-logging的第三方庫。如何設置它以使用logback?如何設置commons-logging使用logback?

+13

你試過用jcl-over-slf4j.jar替換commons-logging.jar嗎? – MahdeTo 2012-04-12 05:22:45

+0

是的,那解決了這個問題,謝謝! :) – Artem 2012-04-16 22:23:18

回答

41

答案是不使用commons-logging.jar,因爲SLF4J被設計用來做commons-logging做的事情,但做得更好。正如@MahdeTo所指,你需要使用jcl-over-slf4j.jar。

查看slf4j網站on migrating from commons-logging的文檔。

+18

你沒看過這個問題嗎?他們正在使用使用公共記錄的第三方庫。 – 2012-07-24 09:40:09

+5

確實。但是,您可以保存迂腐和最嚴格的文字閱讀,看看我的意思是OP不應該使用commons-logging.jar。 OP得到了,爲什麼需要添加一個非建設性的評論? – 2012-07-26 21:08:04

+3

請同時查看SLF4J的常見問題解答,其中顯示瞭如何從maven依賴關係中排除commons-logging:http://slf4j.org/faq.html#excludingJCL – koppor 2012-11-12 20:03:47

4

我碰到過這樣的問題太,並發現了jcl-over-slf4j.jar的確可以解決問題,我不明白這是爲什麼commons-logging不能自動使用logback,因爲commons-logging是日誌接口和logback是執行,他們應該自動整合,直到我發現this

阿帕奇共享日誌記錄(JCL)提供登錄界面是 旨在是既重量輕和 其它測井工具包的獨立抽象。它爲中間件/工具開發者 提供了簡單的日誌抽象,允許用戶(應用程序 開發人員)插入特定的日誌記錄實現。

JCL提供超薄封裝日誌實現對其他測井儀器, 包括Log4J的,阿瓦隆LogKit(阿瓦隆Framework的日誌記錄 基礎設施),JDK 1.4和JDK 1.4日誌 的API(JSR-47)預的實現-1.4系統。該接口緊密地映射到Log4J 和LogKit。

顯然不是所有的日誌接口,可與日誌實現這意味着,如果你真的想用logback很好地集成,jcl-over-slf4j.jar是你現在唯一的解決辦法,因爲JCL只支持Log4J, Logkit, JDK 1.4

相關問題