Quelle est la hiérarchie de la journalisation log4j?
DEBUG
INFO
WARN
ERROR
FATAL
Lequel fournit la journalisation la plus élevée qui serait utile pour résoudre les problèmes? Quelqu'un peut-il indiquer l'ordre ou la hiérarchie dans lequel la journalisation a lieu du plus haut au plus bas? Merci!
Utilisez la force, lisez le source (extrait de la classe Priority
et Level
compilée, le niveau TRACE a été introduit dans la version 1.2.12):
public final static int OFF_INT = Integer.MAX_VALUE;
public final static int FATAL_INT = 50000;
public final static int ERROR_INT = 40000;
public final static int WARN_INT = 30000;
public final static int INFO_INT = 20000;
public final static int DEBUG_INT = 10000;
public static final int TRACE_INT = 5000;
public final static int ALL_INT = Integer.MIN_VALUE;
ou le API log4j pour la classe Level
) , ce qui le rend très clair.
Lorsque la bibliothèque décide d’imprimer ou non une instruction donnée, elle calcule le niveau effectif de l’objet Logger
responsable (en fonction de la configuration) et le compare au niveau de la variable LogEvent
(selon la méthode utilisée). dans le code - trace/debug /.../ fatal ). Si le niveau de LogEvent
est supérieur ou égal au niveau de Logger
, le LogEvent
est envoyé au (x) déclarant (s) - "imprimé (s)". Au fond, tout se résume à une comparaison d’entiers et c’est là que ces constantes entrent en action.
OFF
FATAL
ERROR
WARN
INFO
DEBUG
TRACE
ALL
La hiérarchie des niveaux de journalisation log4j est la suivante, par ordre croissant.
Le niveau de journalisation TRACE fournit la journalisation la plus élevée, ce qui serait utile pour résoudre les problèmes. Le niveau de journalisation DEBUG est également très utile pour résoudre les problèmes.
Vous pouvez également consulter ce lien pour plus d'informations sur les niveaux de journalisation: https://logging.Apache.org/log4j/2.0/manual/architecture.html
[Extrait de http://javarevisited.blogspot.com/2011/05/top-10-tips-on-logging-in-Java.html]
DEBUG est le niveau de consignation Java le plus restreint et nous devons écrire tout ce dont nous avons besoin pour déboguer une application. Ce mode de consignation Java ne doit être utilisé que dans les environnements de développement et de test et ne doit pas être utilisé. en environnement de production.
INFO est plus restreint que le niveau de journalisation DEBUG Java et nous devrions consigner les messages qui ont une fonction informative, comme Server a été démarré, les messages entrants, les messages sortants, etc. dans la journalisation de niveau INFO en Java.
WARN est plus limité que le niveau de journalisation INFO Java et est utilisé pour consigner le type d'avertissement des messages, par exemple. Connexion perdue entre le client et le serveur. Connexion de base de données perdue, Socket atteignant sa limite. Ces messages et le niveau de journalisation Java sont presque importants, car vous pouvez configurer une alerte pour ces messages de journalisation dans Java et laisser votre équipe de support surveiller l'état de santé de votre application Java et réagir sur ces messages d'avertissement. Dans Résumé, le niveau d'avertissement est utilisé pour consigner le message d'avertissement pour la consignation en Java.
ERROR correspond au niveau de consignation Java plus restreint que WARN et utilisé pour consigner les erreurs et les exceptions. Vous pouvez également configurer une alerte sur ce niveau de consignation Java et alerter l'équipe de surveillance pour qu'elle réagisse à ces messages. ERROR est grave pour la connexion Java et vous devez toujours l’imprimer.
Le niveau de journalisation FATAL Java désigne les événements d'erreur très graves qui entraîneront probablement l'abandon de l'application. Après cela, votre application se bloque et s’arrête.
OFF Java le niveau de journalisation a le rang le plus élevé possible et est destiné à désactiver la journalisation en Java.
Ordre de hiérarchie