Logback - Messages de journal en double
Passez en revue une simple application Java et enregistrez un message via 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. Problème
Un simplelogback.xml
pour enregistrer un message sur la console.
logback.xml
%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n
Exécutez le programme ci-dessus, le Logback enregistrera un message deux fois?
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. Solution
Ceci est causé par lesAppenders accumulate. Pour résoudre ce problème, ajoutez unadditivity="false"
au journal d'application
logback.xml
Sortie
2015-01-25 13:58:24 [main] DEBUG com.example.test.App - Testing