我正在構建一個小的Java應用程序,並希望使用logback進行日誌記錄。日誌框架不兼容
我的應用程序有一個較舊的項目,通過
org.apache.commons | com.springsource.org.apache.commons.logging | 1.1.1
做它的日誌記錄的依賴...所以我的計劃是使用
org.slf4j | jcl-over-slf4j | 1.5.6
...重定向JCL記錄到
org.slf4j | slf4j-api | 1.6.0
...最終以
ch.qos.logback | logback-classic | 0.9.22
ch.qos.logback | logback-core | 0.9.22
因此,我的應用程序可以通過其slf4j API登錄logback,而舊庫代碼可以通過重定向登錄到同一位置。
唉,這導致
java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V
at org.apache.commons.logging.impl.SLF4JLocationAwareLog.info(SLF4JLocationAwareLog.java:141)
我已經在一些罐子嘗試更高和更低verision號並通過API文檔和挖掘等......但我無法找到並解決問題。
請幫忙嗎?
儘管logback被認爲是「戰略性」日誌框架,但我仍有一些餘地,我最終使用日誌機制。不過,我希望可以使用logback或log4j,而且我確實希望通過通用配置將舊項目的日誌記錄合併到「新」日誌記錄框架的最終結果中。
那當然有效;非常感謝你!我沒有使用這些罐子的1.6.1,因爲它們看起來不可用。我對m2eclipse非常惱火,它旨在向我展示所有可用的版本,但神祕地丟棄了大量的版本。 – 2010-08-20 07:45:18
僅僅爲了其他人的興趣:我最終在依賴圖中出現了紅色箭頭,因爲即使最新的logback-core也堅持使用slf4j-1.6.0。在所有紅色箭頭消失之前,花了更多的時間來處理版本,但現在它既可以工作也可以全部使用藍色箭頭。 – 2010-08-20 08:32:10
我到底該怎麼做。 – user1721803 2014-09-23 23:29:15