簡體   English   中英

java.lang.IllegalStateException:在類pat上檢測到log4j-over-slf4j.jar和slf4j-log4j12.jar

[英]java.lang.IllegalStateException: Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class pat

誰能告訴我slf4j-log4j和log4j-over-slf4j之間的區別? 哪個在Java Web應用程序中使用更標准? 我目前在類路徑上都有這兩個因為Web服務器試圖阻止發生StackOverFlowException而導致運行時異常。

例外:

java.lang.IllegalStateException:
在類路徑上檢測到log4j-over-slf4j.jar和slf4j-log4j12.jar

slf4j-log4j使用log4j作為slf4j的實現。

log4j-over-slf4j導致對log4j API的調用被“路由”到slf4j。

您不能同時使用這兩個JAR。

兩者都是有效的庫,並且同樣是“標准的”,它取決於項目。

通常,如果您的項目已經使用了log4j,並且您無法將所有log4j記錄器更新為slf4j Loggers; log4j-over-slf4j是一個快速修復,可以立即開始使用slf4j。

但是,如果您的項目是新的或者沒有現有的日志記錄機制並且您選擇使用slf4j,則slf4j-log4j將是可行的方法,因為它只是指定slf4j應綁定到log4j。

話雖如此,我同意c12的評論。 停止使用log4j,而是使用slf4j和logback。

在我的項目中, org.slf4j.impl.Log4jLoggerFactory

activemq-all-5.7.0.jar

不在slf4j-log4j12.jar

異常消息誤導了我

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM