Logback - 重複するログメッセージ

ログバック-ログメッセージの複製

単純なJavaアプリケーションを確認し、Logbackを介してメッセージを記録します。

App.java

package com.example.test;

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

public class App {

    private static final Logger log = LoggerFactory.getLogger(App.class);

    public static void main(String[] args) {
        log.debug("Testing");
    }
}

P.S Tested with Logback 1.1.2

1. 問題

メッセージをコンソールに記録するための単純なlogback.xml

logback.xml



    
        
            
                %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n
            
        
    

    
        
    

    
        
    

上記のプログラムを実行すると、ログバックはメッセージを2回記録しますか?

2015-01-25 13:55:21 [main] DEBUG com.example.test.App - Testing
2015-01-25 13:55:21 [main] DEBUG com.example.test.App - Testing

2. 溶液

これはAppenders accumulateが原因です。 これを修正するには、additivity="false"をアプリケーションロガーに追加します

logback.xml

    
        
    

    
        
    

出力

2015-01-25 13:58:24 [main] DEBUG com.example.test.App - Testing