2012-12-29 112 views
8

我正在從Log4j切換到Logback,但我還沒有成功讓Logback工作。我在Eclipse的Java項目的根目錄下放置logback.xml及以下內容:在Eclipse中配置Logback

<configuration> 

    <appender name="FILE" class="ch.qos.logback.core.FileAppender"> 
    <file>myApp.log</file> 

    <encoder> 
     <pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</pattern> 
    </encoder> 
    </appender> 

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 
    <encoder> 
     <pattern>%msg%n</pattern> 
    </encoder> 
    </appender> 

    <root level="debug"> 
    <appender-ref ref="FILE" /> 
    <appender-ref ref="STDOUT" /> 
    </root> 
</configuration> 

而下面是我Main.java的相關內容:

import org.slf4j.Logger; 
import org.slf4j.LoggerFactory; 
public class Main 
{ 
    static final Logger logger = LoggerFactory.getLogger(Main.class); 

    public static void main(String[] args) 
    { 
    logger.info("Main started"); 
    } 
} 

這似乎並不奏效因爲在我的Eclipse Java應用程序的根目錄中沒有創建名爲myApp.log的文件。任何想法我做錯了什麼?

回答

8

配置文件需要在類路徑中。我的猜測是,事實並非如此。檢查項目的構建路徑。

+0

它的工作。謝謝 – Arya

+2

對於maven,它有助於將文件移動到** src/main/resources **下面這個[建議](http://logback.10977.n7.nabble.com/Project-Can-t-Find-logback-xml -file-td3442.html) – lony

+0

另外,通過「在類路徑上」,這意味着該文件的*目錄*(路徑)位於類路徑中。例如:'CLASSPATH =「/ foo:/ goo:/ foo/bar」'會在類路徑中找到文件'/ foo/bar/logback.xml'。 –