ログバック-ログメッセージの複製
単純な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