Première fois que j'entends parler des marqueurs lors de la lecture:
Je vérifie les méthodes disponibles pour l' objet Logger :
- http://www.slf4j.org/api/org/slf4j/Logger.html
- http://logging.apache.org/log4j/2.x/log4j-api/apidocs/org/apache/logging/log4j/Logger.html
et trouvé des interfaces:
- http://www.slf4j.org/api/org/slf4j/Marker.html
- http://logging.apache.org/log4j/2.x/log4j-api/apidocs/org/apache/logging/log4j/Marker.html
Des informations plus détaillées que je reçois de:
mais toujours confus ... Notez que je demande pourquoi , pas comment les utiliser, donc ce n'est pas un double de:
MISE À JOUR Il semble que lorsque vous utilisez des marqueurs, vous devez également écrire du code Java personnalisé au lieu de faire la configuration dans des fichiers XML ou .property ...
MISE À JOUR 2 Depuis http://logback.qos.ch/manual/appenders.html#OnMarkerEvaluator
Marker notifyAdmin = MarkerFactory.getMarker("NOTIFY_ADMIN");
logger.error(notifyAdmin,
"This is a serious an error requiring the admin's attention",
new Exception("Just testing"));
grep
journaux de texte.Réponses:
Ceci est une version remaniée ma réponse à la question " Meilleures pratiques pour l'utilisation des marqueurs dans SLF4J / Logback ".
Les marqueurs peuvent être utilisés pour colorer ou marquer une seule instruction de journal. Ce que vous faites avec ces couleurs, c'est-à-dire les marqueurs, dépend entièrement de vous. Cependant, deux modèles semblent être communs pour l'utilisation des marqueurs.
Déclenchement : certains appendeurs peuvent être invités à effectuer une action en présence d'un certain marqueur. Par exemple,
SMTPAppender
peut être configuré pour envoyer un e-mail chaque fois qu'un événement de journalisation est marqué avec leNOTIFY_ADMIN
marqueur quel que soit le niveau de journalisation. Voir le déclenchement basé sur des marqueurs dans la documentation de logback. Vous pouvez également combiner des niveaux de journal et des marqueurs pour le déclenchement.Filtrage : les marqueurs sont très utiles pour faire ressortir certaines instructions de journal importantes. Par exemple, vous pouvez colorer / marquer tous vos journaux liés à la persistance (dans divers fichiers de classes multiples) avec la couleur "DB". Vous pouvez alors filtrer pour "DB": désactiver la journalisation sauf pour les instructions de journal marquées avec DB. Voir le chapitre sur les filtres dans la documentation de connexion pour plus d'informations (recherchez MarkerFilter). Notez que le filtrage sur les marqueurs peut être effectué non seulement par la connexion, mais également par des outils d'analyse des journaux.
Avant l'avènement des marqueurs, pour obtenir un comportement similaire, vous aviez l'option 1) en utilisant des niveaux personnalisés 2) d'utiliser des noms d'enregistreurs modifiés. L'API SLF4J ne prend actuellement pas en charge les niveaux personnalisés. Comme pour l'option 2, suffixer (ou préfixer) les noms des enregistreurs est possible si un ou deux enregistreurs doivent être modifiés. L'approche devient peu pratique dès lors que 3 ou plusieurs enregistreurs doivent être «sous-classés» car les fichiers de configuration associés deviennent ingérables.
Même si un seul marqueur peut déjà être très utile, la prochaine version de SLF4J, c'est-à-dire la version 2.0, autorisera plusieurs marqueurs par instruction de journal.
la source