Flexibilité de journalisation avec log4j : configuration de plusieurs fichiers journaux avec un contenu variable
Dans le domaine de la journalisation avec log4j, le besoin de solutions polyvalentes et ciblées des mécanismes de journalisation sont souvent rencontrés. Un de ces scénarios implique la création de plusieurs fichiers journaux, chacun contenant des niveaux distincts d'informations de journalisation pour des classes cibles spécifiques.
Niveaux de journalisation configurables de Log4j
Pour y parvenir, log4j offre la possibilité de configurer plusieurs appenders, chacun défini avec des niveaux de seuil spécifiques. Les niveaux de seuil dictent le niveau de journalisation minimum qu'un appender traitera. En définissant différents niveaux de seuil, vous pouvez acheminer les messages de journalisation vers différents appenders en fonction de leur gravité.
Création de plusieurs fichiers journaux
Par exemple, pour capturer toutes les informations et plus messages dans un fichier journal et tous les messages DEBUG pour un sous-ensemble de classes dans un fichier séparé, vous pouvez configurer les paramètres log4j suivants :
log4j.rootLogger=QuietAppender, LoudAppender, TRACE
Cette ligne définit l'enregistreur racine, qui s'applique à toutes les classes, sauf remplacement par des configurations spécifiques de l'enregistreur. Il attribue trois appender : "QuietAppender" pour les messages INFO et supérieurs, "LoudAppender" pour les messages DEBUG et supérieurs, et "TRACE" pour tous les messages (un appender spécial discuté ci-dessous).
log4j.appender .QuietAppender=org.apache.log4j.RollingFileAppender
log4j.appender.QuietAppender.Threshold=INFO
log4j.appender.QuietAppender.File =quiet.log
Le QuietAppender est configuré pour ajouter les messages INFO et supérieurs au fichier "quiet.log".
log4j.appender.LoudAppender=org.apache .log4j.RollingFileAppender
log4j.appender.LoudAppender.Threshold=DEBUG
log4j.appender.LoudAppender.File=loud.log
Le LoudAppender est configuré pour ajouter les messages DEBUG et supérieurs au fichier "loud.log".
log4j.logger.com.yourpackage.yourclazz=TRACE
Cette ligne ajoute un enregistreur personnalisé pour une classe spécifique au sein du package "com.yourpackage". Il remplace la configuration de l'enregistreur racine et définit le seuil sur TRACE, garantissant que tous les messages de cette classe sont enregistrés, quel que soit le niveau de seuil défini dans l'enregistreur racine ou les appenders.
En combinant ces configurations, vous pouvez obtenir fonctionnalité de journalisation personnalisée qui sépare les messages de journalisation en fonction de la gravité et de la classe cible, créant ainsi plusieurs fichiers journaux avec un contenu variable pour répondre à des cas d'utilisation spécifiques.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!