2017-09-05 1 views
1

J'essaie d'afficher les journaux dans la console ainsi que le fichier mais dans le fichier je veux seulement certains journaux qui seront affichés à partir d'une classe particulière et je ne sais pas comment faire. Ci-dessous mon logback.xmlAfficher uniquement les journaux d'une classe à l'aide du logback

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE configuration> 

<configuration> 

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 
     <encoder> 
      <pattern>{ "date_time":"%date", "thread":"[%thread]", "log_level":"%-5level", "class_name":"%logger{0}", "log_message":"%msg" }%n</pattern> 
     </encoder> 
    </appender> 

    <appender name="FILE" class="ch.qos.logback.core.FileAppender"> 
    <file> test.txt </file> 
    <append>false</append> 
    <encoder> 
     <pattern>{ "date_time":"%date", "thread":"[%thread]", "log_level":"%-5level", "class_name":"%logger{0}", "log_message":"%msg" }%n</pattern> 
    </encoder> 
    </appender> 

    <root level="info"> 
    <appender-ref ref="FILE" /> 
    <appender-ref ref="STDOUT" /> 
    </root> 

</configuration> 

Répondre

2

déclarer Juste un logger pour votre « une classe particulière » puis associez que logger avec votre FILE appender.

Par exemple:

<appender name="FILE" class="ch.qos.logback.core.FileAppender"> 
    <file>test.log</file> 
    <encoder> 
     <pattern>{ "date_time":"%date", "thread":"[%thread]", "log_level":"%-5level", "class_name":"%logger{0}", "log_message":"%msg" }%n</pattern> 
    </encoder> 
</appender> 

<logger name="your.particular.Class"> 
    <appender-ref ref="FILE" /> 
</logger> 

<root level="info"> 
    <appender-ref ref="STDOUT" /> 
</root> 

Cela garantira que les événements du journal émis par your.particular.Class sont uniquement dirigés vers le FILE appender et tous les autres journaux seront dirigés seulement au STDOUT appender.