Logging
Verwende immer ein Logging-Framework (GCG17001) 
Verwende immer ein etabliertes Logging-Framework, da diese bereits alle nötigen Funktionen beinhalten. Außerdem sind sie bereits in der praxis erprobt und beinhalten wenig Bugs.
Ausnahme: Kleine Anwendungen, interaktive Konsolen Anwendungen und Skripte, deren Ausgabe nicht nachvollzogen werden muss, benötigen kein Logging-Framework.
Definiere die Verwendung der Log-Levels (GCG17002) 
Vorschlag:
| Log-Level | Beschreibung | Aussage |
|---|---|---|
| Trace | Sehr genaues Loggen, das zur Diagnose genutzt werden kann oder zum nachvollziehen einzelner Algorithmen. | Kann im normalen Betrieb ignoriert werden. Wird ggf. in Debug-Sessions benötigt. |
| Debug | Weniger ausführlich als Trace, aber immer noch mehr, als im normalen Betrieb benötigt wird. Kann zur Ausgabe von Informationen genutzt werden, die für die Diagnose notwendig sind. |
Kann im normalen Betrieb ignoriert werden. Wird z. B. für das Debuggen benötigt. |
| Info | Standard Log-Level um auszusagen, dass etwas passiert ist. Sollten rein Informativ sein und sollte alle wichtigen Informationen beinhalten. | Kann im normalen Betrieb ignoriert werden. Etwas ist geschehen, dient nur zur Information. |
| Warn | Sagt aus, dass etwas unerwartetes geschehen ist, das den weiteren Prozess stören kann. Das bedeutet aber nicht, dass die Anwendung oder der Prozess abgestürzt ist. Sollte für unerwartete Fälle verwendet werden, die aber ein Fortlaufen des Programmes nicht verhindern. | Unerwartetes Verhalten innerhalb der Anwendung, die Anwendung arbeitet aber wie erwartet weiter. |
| Error | Sollte verwendet werden, wenn ein Situation entsteht, die den Prozess vom richtigen weiterarbeiten Abhält. | Eine oder mehrere Funktionalitäten werden abgehalten richtig zu arbeiten. |
| Fatal, Critical | Dieses Log-Level sagt aus, dass die Anwendung einen Zustand erreicht hat, in der die Kernfunktionen nicht mehr gewährleistet sind, z. B. da eine notwendige Datenbank nicht erreichbar ist. Oftmals wird an dieser Stelle die Anwendung zur Sicherheit beendet. | Eine oder mehrere Kern-Funktionen arbeiten nicht weiter und das gesamte System kann nicht weiter arbeiten. System wird zwangsweise beendet. |
Structured Logging (GCG17003) 
Structured Logging1,2 hilft bei der Verarbeitung von Logfiles.
Letztes Update: 2021-09-26