2012-12-29 3 views
8

Log4j에서 Logback으로 전환하는 중이지만 Logback을 만들 때 성공하지 못했습니다. 내 이클립스 자바 프로젝트의 루트 디렉토리에 logback.xml을 배치하고 아래의 내용입니다있다 :Eclipse에서 로그백 구성

<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의 경우이 [advice] (http://logback.10977.n7.nabble.com/Project-Can-t-Find-logback-xml)에 따라 파일을 ** src/main/resources **로 이동하는 데 도움이됩니다. -file-td3442.html) – lony

+0

또한 "클래스 경로"에서 이는 파일에 대한 * 디렉토리 * (경로)가 클래스 경로에 있음을 의미합니다. 예 :'CLASSPATH = "/ foo :/goo :/foo/bar"'는 classpath에'/ foo/bar/logback.xml' 파일을 찾을 것입니다. –