Bonjour peut être certains d'entre vous ont utilisé les marker dans slf4j avec l'implémentation native logback.

En fait, je ne comprends pas trop comment faire pour rediriger mes logs dans tel ou tel log en fonction d'un marker

Voici mon logback.xml :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<configuration scan="true" scanPeriod="30 seconds">
  <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <pattern>LOG  : %marker - %msg</pattern>
    </encoder>
  </appender>
  <appender name="SECURITY-CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <pattern>SECU : %marker - %msg</pattern>
    </encoder>
    <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
      <marker>SECURITY</marker>
    </evaluator>
  </appender>
  <root>
    <level value="INFO"/>
    <appender-ref ref="CONSOLE"/>
  </root>
</configuration>
Voila, bien sur ce fichier est juste pour illustrer mes propos.

maintenant dans mon code, je fais :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
logger.info("message normal");
puis
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Marker marker = MarkerFactory.getMarker("SECURITY");
logger.info(marker, "message secu");
L'exécution de ceci affiche dans la console :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
INFO: LOG  :  - message normal
INFO: LOG  : SECURITY - message secu
Alors que bien sur je voudrais

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
INFO: LOG  :  - message normal
INFO: SECU : SECURITY - message secu
J'ai bien tenté de rajouter l'appender SECU à root :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
  <root>
    <level value="INFO"/>
    <appender-ref ref="CONSOLE"/>
    <appender-ref ref="SECURITY-CONSOLE"/>
  </root>
Ce qui à pour effet:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
INFO: LOG  :  - message normal
INFO: SECU :  - message normal
INFO: LOG  : SECURITY - message secu
INFO: SECU : SECURITY - message secu
Ce qui n'est pas bien sûr mon but.

Quelqu'un voit il ou est mon problème ?

Merci d'avance