Log.INFO vs Log.DEBUG [fermé]

96

Je développe un grand programme commercial et je n'arrête pas de me confondre entre le type d'informations que je veux enregistrer avec Log.INFO et Log.DEBUG. Existe-t-il des normes ou des règles empiriques sur le contenu de chaque type de message de journal?

cytinus
la source

Réponses:

132

J'essaye généralement de l'utiliser comme ceci:

  • DEBUG: Informations intéressantes pour les développeurs, lorsqu'ils tentent de déboguer un problème.
  • INFO: Informations intéressantes pour le personnel de support essayant de comprendre le contexte d'une erreur donnée
  • AVERTISSEMENT FATAL: Problèmes et erreurs selon le niveau de dommage.
nfechner
la source
INFO peut-il toujours être activé en production, cela aura-t-il un impact sur les performances?
pinkpanther
1
Cela dépend. (J'aime cette réponse) Les facteurs dont vous devez tenir compte sont: 1. Nombre de lignes de journal d'information 2. Configuration de la journalisation (où aboutissent vos lignes de journalisation?) 3. Traitement disponible et alimentation io sur le systèmes concernés.
nfechner
1
Et sachez que plus il y a de bruit, plus il est difficile de repérer les problèmes. De plumberjack.blogspot.be/2010/09/… :> En commun avec la philosophie Unix, les logiciels ne doivent pas être excessivement verbeux, sauf quand ils doivent l'être ou qu'on le leur demande. (Pourquoi ne puis-je pas obtenir cela?)
axd
38

Débogage : déclarations affinées concernant l'état du programme, généralement utilisées pour le débogage;

Info : déclarations d'information concernant l'état du programme, représentant les événements du programme ou le suivi du comportement;

Avertir : déclarations décrivant des événements ou des états potentiellement dangereux dans le programme;

Erreur : instructions qui décrivent des erreurs non fatales dans l'application; ce niveau est utilisé assez souvent pour la journalisation des exceptions traitées;

Fatal : instructions représentant les conditions d'erreur les plus graves, aboutissant supposément à l'arrêt du programme.

Trouvée sur http://www.beefycode.com/post/Log4Net-Tutorial-pt-1-Getting-Started.aspx

Ash Burlaczenko
la source
Les erreurs déclenchées par l'entrée utilisateur doivent-elles être traitées comme des avertissements ou des erreurs? (IE nom d'utilisateur ou mot de passe incorrect)
Stevoisiak
@Stevoisiak basé sur sa réponse, je suppose que cela devrait être traité comme une info.
aderchox
9

Rappelez - vous aussi que tous info(), error()et les debug()appels de journalisation fournissent des documents internes de toute application.

Pinky
la source
Je pense que c'est un bon point. Par exemple, log.info("parse the widget text; ignore contents of 'foo'")sert de documentation utile lors de la lecture du code, même s'il s'agit également d'une instruction de journal.
Ragoût