2012-12-29 24 views
8

Tôi đang trong quá trình chuyển từ Log4j sang Logback nhưng tôi vẫn chưa thành công khi thực hiện công việc Logback. Tôi đã đặt logback.xml trong thư mục gốc của dự án Eclipse Java của tôi và dưới đây là nội dung của nó:Cấu hình Logback trong 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> 

Và dưới đây là nội dung có liên quan của Main.java tôi:

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"); 
    } 
} 

này dường như không có tác dụng vì không có tệp nào có tên myApp.log được tạo trong thư mục gốc của ứng dụng Java Eclipse của tôi. Bất kỳ ý tưởng những gì tôi đang làm sai?

Trả lời

8

Tệp cấu hình cần phải có trên đường dẫn lớp. Tôi đoán là nó không phải là. Kiểm tra đường dẫn xây dựng cho dự án.

+0

nó hoạt động. thanks – Arya

+2

Đối với maven nó giúp di chuyển tệp đến ** src/main/resources ** sau [lời khuyên] này (http://logback.10977.n7.nabble.com/Project-Can-t-Find-logback-xml -file-td3442.html) – lony

+0

Ngoài ra, bằng "trên đường dẫn lớp", điều đó có nghĩa là * thư mục * (đường dẫn) đến tệp nằm trên đường dẫn lớp. Ví dụ: 'CLASSPATH ="/foo:/goo:/foo/bar "' sẽ tìm tệp '/ foo/bar/logback.xml' trên đường dẫn lớp. –