2013-05-03 129 views
0

我有一個Spring MVC簡單地址簿項目與maven構建。我想使用Logback進行日誌記錄,但我完全不熟悉它; 首先,我改變了我的pom.xml這樣:Logback日誌記錄不工作

<!-- Spring 3 dependencies --> 
<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-context</artifactId> 
    <version>${spring.version}</version> 
    <exclusions> 
    <!--Exclude Commons Logging in favor of SLF4j--> 
    <exclusion> 
     <groupId>commons-logging</groupId> 
     <artifactId>commons-logging</artifactId> 
    </exclusion> 
    </exclusions> 
</dependency> 
<!-- Logging --> 
<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-api</artifactId> 
    <version>1.6.1</version> 
</dependency> 
<dependency> 
    <groupId>ch.qos.logback</groupId> 
    <artifactId>logback-classic</artifactId> 
    <version>${logback.version}</version> 
</dependency> 
<dependency> 
    <groupId>ch.qos.logback</groupId> 
    <artifactId>logback-core</artifactId> 
    <version>${logback.version}</version> 
</dependency> 

然後我加入這行到我的自定義異常DatabaseException:

private final static Logger logger = (Logger) LoggerFactory.getLogger(DatabaseException.class); 

...

public DatabaseException(Throwable cause) { 
    super(cause); 
    logger.log(Level.WARNING, cause.getMessage()); 
} 

,這樣,當我在其他類中上升這個異常日誌能夠打印出一些消息,但是不工作,當我在Tomcat上運行maven時,它只打印容器日誌[talledContainer] INFO ....等等。 ke我的記錄器不存在

+0

我認爲標題有誤導 – 2013-05-03 09:31:24

+0

您需要配置記錄器。這在大多數情況下在xml或屬性中完成 – 2013-05-03 09:33:21

+0

請合併這兩個問題,並請不要發佈重複項。人們很難幫助你。 – 2013-05-03 14:43:02

回答

1

您還沒有提及任何有關logback.xml。您應該在src/main/resources文件夾下創建一個。

2

要將DatabaseException使其工作,你DatabaseException應該是這樣的:

package org.myorg.myapp; 

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

public class DatabaseException extends Exception { 

    private final static Logger logger = LoggerFactory.getLogger(DatabaseException.class); 

    public DatabaseException(Throwable cause) { 
    super(cause); 
    logger.warn(cause.getMessage()); 
    } 
} 

此外,你需要在你的pom.xml JCL-過度依賴SLF4J。

<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>jcl-over-slf4j</artifactId> 
    <version>1.6.1</version> 
    <scope>runtime</scope> 
</dependency> 

我會推薦閱讀參考文檔(使用SLF4J部分)。 http://static.springsource.org/spring/docs/3.2.x/spring-framework-reference/html/overview.html

希望這會有所幫助。

+0

非常感謝您的回覆,現在它的工作 – andPat 2013-05-04 09:43:34

+0

添加jlc依賴和導入我的類slf4j.logger和slf4j.LoggerFactory它工作正常 – andPat 2013-05-04 09:45:07

+0

謝謝,這是很好的解決方案。我的項目也適用... – Vito 2014-06-10 09:19:35