2014-01-27 41 views
2

我的項目使用的是log4j2,並且在運行使用使用log4j 1.x的第三方庫的應用程序之前,一切都很正常。當我們的應用程序啓動時,我們會在org.apache.log4j.ConsoleAppender上得到一個涉及ClassNotFoundException的令人討厭的堆棧跟蹤。我注意到我們的一個依賴在它的jar引用org.apache.log4j.ConsoleAppender中有一個log4j.properties,所以我猜這就是堆棧跟蹤的原因。導致此錯誤的其他依賴包括大多數使用JBoss日誌記錄類的東西,如嵌入式glassfish和eclipse持久性包。如何使用log4j 1.x處理依賴關係,當項目使用log4j2時

我試着將log4j-1.2.bridge api jar添加到classpath中,它沒有任何效果。

在我們的應用程序類路徑中包含log4j2和log4j1.x這兩個jar似乎有點荒謬。有沒有其他的選擇或修復?

回答

1

爲我提供的答案,這些鏈接:

https://issues.apache.org/jira/browse/LOG4J2-172
https://issues.jboss.org/browse/JBLOGGING-95

看起來我們使用的是不支持log4j2 JBoss的日誌記錄的過時的版本。但是,我仍然不確定如何處理包含log4j.properties的一個依賴項。

事實證明,添加log4j-jcl-2.0 jar工作的依賴。

+0

我遇到了同樣的問題。我的應用程序中的simplejavamail使用log4j 1.2,因此我正在尋找一種不涉及使用兩個不同版本的log4j的解決方案。你有沒有設法解決你的問題? – user3586195

+0

您需要將log4j2「1.2.x api bridge jar」添加到您的項目中。 –

相關問題