2012-02-28 22 views
5

Trong một dự án tôi đã sau đây trên classpath:Logback FileAppender - logfile rỗng?

Bundle-ClassPath: ., 
lib/logback-classic.jar, 
lib/logback-core.jar, 
lib/slf4j-api.jar 

và sau trong build.properties:

bin.includes = META-INF/,\ 
       .,\ 
       plugin.xml,\ 
       lib/logback-classic.jar,\ 
       lib/logback-core.jar,\ 
       lib/slf4j-api.jar,\ 
       logback.xml 

Trong rễ Tôi cũng có một tập tin logback.xml chứa:

<!-- <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> --> 
<!--  <layout class="ch.qos.logback.classic.PatternLayout"> --> 
<!--  <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n --> 
<!--  </Pattern> --> 
<!--  </layout> --> 
<!-- </appender> --> 
    <root level="debug"> 
    <appender-ref ref="STDOUT" /> 
    </root> 
    <appender name="FILE" class="ch.qos.logback.core.FileAppender"> 
    <File>logs\\logfile.log</File> 
    <Append>true</Append> 
    <layout class="ch.qos.logback.classic.PatternLayout"> 
     <Pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n 
     </Pattern> 
    </layout> 
    </appender> 
</configuration> 

Trong một lớp học mà được thực hiện tại khởi động Tôi có:

private static final Logger logger = LoggerFactory.getLogger(Application.class.getName()); 
    public Object start(IApplicationContext context) { 
    logger.debug("debug string"); 
    logger.warn("warn string"); 
    logger.error("error string"); 

Khi tôi tạo và chạy ứng dụng của tôi, một tệp nhật ký \ logfile.log được tạo trong thư mục gốc của ứng dụng nhưng trống. Nếu tôi sử dụng ConsoleAppender và kích hoạt giao diện điều khiển nó hoạt động tốt.

Tại sao logback không ghi vào logfile khi sử dụng FileAppender?

Trả lời

7

Các bạn đã thử với việc thêm tập tin appender-ref để rễ trong logback.xml như hình dưới đây:

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

tuyệt vời câu trả lời cám ơn Girish! – sunleo

Các vấn đề liên quan