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?
Réponses
Trop de publicités?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");
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.)