Logging ist das Mitschreiben von Ereignissen einer Anwendung in Protokolle. Jede Zeile hält fest, wann etwas geschah, wie wichtig es ist und was dazugehört, etwa die Adresse, der Nutzer oder die Kennung eines Auftrags.
- Logging
Das Mitschreiben von Ereignissen einer Anwendung in Protokolle.
Beispiel: „Das Logging zeigte, dass die Zahlung dreimal versucht wurde, bevor der Dienst antwortete.“Auf Deutsch Protokollierung. Üblich sind Stufen von debug über info und warning bis error und critical; in PHP folgt die Einteilung dem Standard PSR-3.
Abgrenzung zu den Server Logs: Diese schreibt der Webserver über Anfragen und Fehler. Das Logging kommt aus der Anwendung und kennt deren Begriffe.
Was in ein Protokoll gehört
Ereignisse, die später eine Frage beantworten: begonnene und abgeschlossene Vorgänge, abgewiesene Eingaben, Antworten fremder Dienste, Fehler mit ihrem Zusammenhang. Dazu je Zeile eine Kennung, über die sich ein Vorgang verfolgen lässt.
Hilfreich ist ein festes Format, etwa JSON je Zeile. Dann lassen sich Protokolle durchsuchen und auswerten, statt sie zu lesen, siehe Logfile-Analyse.
Was in einem Protokoll nie stehen darf
Passwörter, Zugangsdaten, vollständige Zahlungsdaten und Gesundheitsangaben. Protokolle werden kopiert, durchsucht und an Dienste weitergereicht, und was einmal darin steht, ist schwer wieder herauszubekommen.
Personenbezogene Daten gehören auf das Nötige begrenzt und mit einer Frist versehen. Wer IP-Adressen mitschreibt, braucht einen Grund dafür und eine Löschfrist.
Wie viel Logging sinnvoll ist
So viel, dass eine Störung ohne Nachstellen erklärbar wird, und so wenig, dass die Suche darin gelingt. Eine Anwendung, die jeden Schritt mitschreibt, erzeugt Gigabyte, in denen niemand etwas findet.
Praktisch heißt das: im Betrieb die Stufe info, debug allein für die Fehlersuche und eine Rotation, die alte Dateien löscht, bevor die Platte voll ist.