Log.INFO vs. Log.DEBUG [geschlossen]


95

Ich entwickle ein großes kommerzielles Programm und verwechsle mich immer wieder damit, welche Art von Informationen ich mit Log.INFO und Log.DEBUG protokollieren möchte. Gibt es Standards oder Faustregeln für die einzelnen Protokollnachrichtentypen?

Antworten:


131

Normalerweise versuche ich es so zu benutzen:

  • DEBUG: Informationen, die für Entwickler interessant sind, wenn sie versuchen, ein Problem zu debuggen.
  • INFO: Informationen, die für Support-Mitarbeiter interessant sind, die versuchen, den Kontext eines bestimmten Fehlers herauszufinden
  • WARN an FATAL: Probleme und Fehler je nach Schadensstufe.

Kann INFO immer in der Produktion aktiviert werden? Hat dies Auswirkungen auf die Leistung?
Pinkpanther

1
Es kommt darauf an .. (Ich mag diese Antwort) Die Faktoren, die Sie berücksichtigen müssen, sind: 1. Anzahl der Info-Protokollzeilen 2. Protokollierungssetup (wo landen Ihre Protokollierungszeilen?) 3. Verfügbare Verarbeitung und Einschalten des betroffene Systeme.
Nfechner

1
Und seien Sie sich bewusst, dass es umso schwieriger ist, Probleme zu erkennen, je mehr Lärm vorhanden ist. Von plumberjack.blogspot.be/2010/09/… :> Wie bei der Unix-Philosophie sollte Software nicht übermäßig ausführlich sein, es sei denn, sie muss oder muss es sein. (Warum kann ich das nicht zitieren lassen?)
Axd

38

Debug : Fein abgestimmte Anweisungen zum Programmstatus, die normalerweise zum Debuggen verwendet werden.

Info : Informationsaussagen zum Programmstatus, die Programmereignisse oder Verhaltensverfolgung darstellen;

Warnen : Anweisungen, die potenziell schädliche Ereignisse oder Zustände im Programm beschreiben;

Fehler : Anweisungen, die nicht schwerwiegende Fehler in der Anwendung beschreiben. Diese Ebene wird häufig zum Protokollieren von Ausnahmen verwendet.

Schwerwiegend : Anweisungen, die die schwerwiegendsten Fehlerzustände darstellen und vermutlich zur Beendigung des Programms führen.

Gefunden auf http://www.beefycode.com/post/Log4Net-Tutorial-pt-1-Getting-Started.aspx


Sollten durch Benutzereingaben ausgelöste Fehler als Warnungen oder Fehler behandelt werden? (IE
Falscher

@Stevoisiak basierend auf seiner Antwort Ich denke, es sollte als Info behandelt werden.
Aderchox

9

Denken Sie auch daran, dass alle info(), error()und debug()Protokollierungsaufrufe eine interne Dokumentation in jeder Anwendung enthalten.


Ich denke, das ist ein guter Punkt. ZB log.info("parse the widget text; ignore contents of 'foo'")dient beispielsweise als nützliche Dokumentation beim Lesen des Codes, obwohl es sich auch um eine Protokollanweisung handelt.
Eintopf
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.