2013-04-24 122 views
4

我得到Failed to load class "org.slf4j.impl.StaticLoggerBinder"錯誤。我想寫入記錄到一個文件。因此我使用了log4j.jar並使用apache tomcat服務器。無法加載java項目中的類「org.slf4j.impl.StaticLoggerBinder」錯誤?

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". 
SLF4J: Defaulting to no-operation (NOP) logger implementation 
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. 
+0

您是否訪問了錯誤信息中的建議網站? – NilsH 2013-04-24 11:33:47

+1

3個罐子slf4j-api-1.6.6,slf4j-log4j12-1.6.6,log4j-1.2.17解決了我的問題..感謝所有人的幫助。 - – user2210071 2013-05-02 12:30:17

回答

1

你需要的SLF4J罐子或依賴添加到您的項目

+0

在tomcat lib中slf4j-api-1.6.6.jar存在。我想知道的是,如果我們使用log4j進行日誌記錄,sl4j jar是必需的嗎? – user2210071 2013-04-24 11:47:54

+0

可能是其他東西使用slf4j,所以你必須添加它 – Dima 2013-04-24 11:57:15

+0

我把slf4j-api-1.6.6.jar和log4j.jar放在lib folder.stil中,得到了同樣的錯誤。 – user2210071 2013-04-24 12:04:24

0

請輸入SLF4J-API-1.6.6.jar爲您的項目。在你的java類 1.write下面的代碼

private Logger logger = LoggerFactory.getLogger(this.getClass()); 

2.import如下:您可以使用logger.info

import org.slf4j.Logger; 
import org.slf4j.LoggerFactory; 

3.now();打印任何東西。

+0

我想將日誌信息寫入文件。使用slf4j,記錄器信息僅在控制檯上打印。如何將它寫入文件? – user2210071 2013-04-24 11:53:04

+0

檢查[this](http://stackoverflow.com/questions/3967202/storing-log-into-log-file-using-slf4j-log4j)後。 – vijayk 2013-04-24 12:03:08

+0

我試過這個bt itz沒有寫入文件 – user2210071 2013-04-24 12:55:50

10

首先。關於依賴關係。

爲了增加SLF4J你必須把ONE只有ONE在你的pom.xml這些依賴關係。這取決於您選擇使用的實施方式。您在pom.xml中添加的每個依賴項都會自動添加到類路徑中。如果以下依賴項之一由另一個依賴項提供,則可以省略它。不要忘記,即使依賴關係是由其他依賴項提供的,也只能包含一個。請注意,我從依賴關係中省略了版本。使用最新的可用。

<dependency> 
    <groupId>ch.qos.logback</groupId> 
    <artifactId>logback-classic</artifactId> 
    <version></version> 
</dependency> 
<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-simple</artifactId> 
    <version></version> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-log4j12</artifactId> 
    <version></version> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-jdk14</artifactId> 
    <version></version> 
    <scope>compile</scope> 
</dependency> 

現在關於構建Maven項目時,你所得到的惱人的錯誤。如果只有以上依賴項之一,仍然會得到SLF4J:無法加載類「org.slf4j.impl.StaticLoggerBinder」。那麼你正面臨着m2e的一個bug。

當使用捆綁maven版本(m2e)時,Eclipse Juno和Indigo不禁止消息SLF4J:未能加載類「org.slf4j.impl.StaticLoggerBinder」。此行爲在m2e 1.1.0.20120530-0009及之後的版本中提供。

雖然這表示爲錯誤,您的日誌將正常保存。突出顯示的錯誤仍然存​​在,直到修復此錯誤。更多關於m2e support site的信息。

當前可用的解決方案是使用外部maven版本而不是捆綁版本的Eclipse。你可以在下面的問題中找到關於這個解決方案和更多關於這個bug的細節,我認爲它描述了你面臨的同樣的問題。

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". error

相關問題