Je réponds à cette venue d'une composante de base de l'architecture, où une organisation peut être en cours d'exécution de nombreux composants qui peuvent compter les uns sur les autres. Au cours d'une propagation de l'échec, les niveaux d'enregistrement devrait aider à identifier à la fois les éléments qui sont touchés et qui sont une cause racine.
ERREUR - Cette composante a eu un échec et la cause est censé être à l'intérieur (internes, exception non gérée, l'échec de la encapsulé dépendance... par exemple, base de données, le RESTE serait par exemple il a reçu une 4xx erreur de dépendance). Me (responsable de cette composante) à sortir du lit.
AVERTIR - Ce composant a eu un échec semble être causé par un composant dépendant (REPOS, par exemple, 5xx état de dépendance). Obtenir les responsables de la composante hors du lit.
INFO - autre Chose que nous voulons faire à un opérateur. Si vous décidez de connecter heureux chemins alors je recommande de limiter à 1 message du journal par importante opération (par exemple à la demande http entrante).
Pour tous les messages de log veillez à vous connecter contexte utile (et de donner la priorité sur la création de messages lisibles par l'homme et/ou utiles plutôt que d'avoir des tonnes de "codes d'erreur")
-
DEBUG (et ci-dessous) - ne doit pas être utilisé à tous (et certainement pas dans la production). Dans le développement, je vous conseille l'utilisation d'une combinaison de TDD et de Débogage (le cas échéant) plutôt que de polluer le code avec le journal de déclarations. Dans la production, au-dessus de journalisation INFO, combinée avec d'autres mesures devraient être suffisantes.
Une belle façon de visualiser les au-dessus des niveaux de journalisation est d'imaginer un ensemble d'écrans de suivi pour chaque composant. Quand tout fonctionne bien, ils sont au vert, si un composant enregistre un message d'AVERTISSEMENT puis il ira à l'orange (orange) si quoi que ce soit enregistre une ERREUR, alors elle sera en rouge.
Dans le cas d'un incident, vous devriez avoir un (root cause) de la composante rouge et tous les composants concernés devraient aller à l'orange/orange.