172 votes

Logback pour enregistrer différents messages dans deux fichiers

J'utilise logback / slf4j pour faire ma journalisation. Je souhaite analyser mon fichier journal pour analyser certaines données. Par conséquent, au lieu d'analyser un très gros fichier (principalement constitué d'instructions de débogage), je souhaite disposer de deux instances de consignation qui consignent chacune dans un fichier séparé. un pour l'analyse et un pour la journalisation tout usage. Est-ce que quelqu'un sait si cela est possible avec Logback ou tout autre enregistreur?

334voto

ig0774 Points 10389

Il est très possible de faire quelque chose comme ça dans un journal. Voici un exemple de configuration:

 <?xml version="1.0"?>
<configuration>
    <appender name="FILE" class="ch.qos.logback.core.FileAppender">
        <file>logfile.log</file>
        <append>true</append>
        <encoder>
            <pattern>%-4relative [%thread] %-5level %logger{35} - %msg %n</pattern>
        </encoder>
    </appender>
    <appender name="ANALYTICS-FILE" class="ch.qos.logback.core.FileAppender">
        <file>analytics.log</file>
        <append>true</append>
        <encoder>
            <pattern>%-4relative [%thread] %-5level %logger{35} - %msg %n</pattern>
        </encoder>
    </appender>
    <!-- additivity=false ensures analytics data only goes to the analytics log -->
    <logger name="analytics" level="DEBUG" additivity="false">
        <appender-ref ref="ANALYTICS-FILE"/>
    </logger>
    <root>
        <appender-ref ref="FILE"/>
    </root>
</configuration>
 

Ensuite, vous devez configurer deux enregistreurs distincts, un pour tout et un pour enregistrer les données d'analyse, comme suit:

 Logger analytics = LoggerFactory.getLogger("analytics");
 

2voto

crowne Points 6002

Son possible avec log4j, donc je suppose que c'logback a seulement amélioré sur ce point.

Les classes doivent déclarer leurs propres statique journal comme un défaut de convention, puis dans la configuration vous pouvez déclarer plusieurs catégories et appenders.
Les catégories sont utilisées pour affiner le journal des états à partir de laquelle les classes doivent être envoyés par le biais de la appenders, et les appenders appliquer plusieurs critères de filtre par exemple log-level, puis écrire dans leurs propres médias (fichier, base de données, e-mail, jms, etc.)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X