Maison >Java >javaDidacticiel >Comment puis-je configurer Log4j pour envoyer différents niveaux de journalisation vers des appenders et des fichiers journaux séparés ?

Comment puis-je configurer Log4j pour envoyer différents niveaux de journalisation vers des appenders et des fichiers journaux séparés ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-29 17:29:02949parcourir

How can I configure Log4j to send different logging levels to separate appenders and log files?

Enregistrement de différents niveaux et contenus avec Log4j

Question :

Log4j peut-il être configuré pour diriger différents niveaux de journalisation vers des appenders séparés ? L'objectif est de créer plusieurs fichiers journaux avec un contenu spécifique, comme un journal principal récupérant tous les messages INFO et supérieurs, tandis qu'un autre journal capture les messages DEBUG pour uniquement un groupe de classes sélectionné.

Réponse :

Configuration de Log4j pour plusieurs fichiers journaux

Log4j permet de personnaliser la journalisation vers plusieurs destinations via des appenders. Pour obtenir la configuration souhaitée :

  1. Définir plusieurs appenders : Commencez par créer des appenders distincts pour chaque type de journal. Attribuez-leur les attributs de fichier appropriés pour spécifier leur destination de fichier journal. Définissez le seuil pour contrôler le niveau de journalisation pour chaque appender (par exemple, INFO pour le journal principal et DEBUG pour des classes spécifiques).
  2. Configurer Root Logger : L'option rootLogger détermine l'emplacement initial de toute la journalisation. envoyé. Configurez-le pour envoyer des journaux aux appenders que vous avez créés précédemment.
  3. Définir les niveaux de journalisation : Utilisez la propriété log4j.logger pour définir des niveaux de journalisation spécifiques pour différentes classes ou packages. Cela vous permet de contrôler de manière sélective le niveau de détail enregistré pour chaque classe.

Exemple de configuration :

log4j.rootLogger=QuietAppender, LoudAppender, TRACE
# setup main log
log4j.appender.QuietAppender=org.apache.log4j.RollingFileAppender
log4j.appender.QuietAppender.Threshold=INFO
log4j.appender.QuietAppender.File=quiet.log

# setup specific log
log4j.appender.LoudAppender=org.apache.log4j.RollingFileAppender
log4j.appender.LoudAppender.Threshold=DEBUG
log4j.appender.LoudAppender.File=loud.log

# set logging level for specific classes
log4j.logger.com.yourpackage.yourclazz=TRACE

Avec cette configuration, le 'quiet. log' contiendra tous les messages INFO et supérieurs pour toutes les classes, tandis que 'loud.log' ne contiendra que les messages DEBUG pour la classe spécifiée 'yourclazz'.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn