# Was ist Logging?

Logging speichert Anfragen, Fehler und Abläufe, damit du sie später nachlesen kannst.

> Source: https://www.mainpath.ai/de/wiki/logging/

## Was es ist

Logging ist die Aufzeichnung dessen, was die Anwendung getan hat. Eine Anfrage kam an, ein Fehler ist aufgetreten, ein Ablauf ist um drei Uhr nachts schiefgegangen. Ohne Logs siehst du nur, dass etwas nicht stimmt. Du siehst nicht, wo.

Ohne eine Zeile mit Zeitpunkt und Vorgang bleibt von einem Fehler nur die Meldung, dass etwas nicht stimmt.

## Woraus es besteht

Ein Log ist eine Zeile oder ein Block mit Zeitpunkt, oft einer Stufe wie Info, Warnung oder Fehler, und einer Nachricht. Gute Logs nennen den Vorgang, die betroffene Anfrage und den Grund. Schlechte Logs sagen nur „error“ oder drucken alles, inklusive Passwörtern. Beides ist nutzlos, das eine zu wenig, das andere zu viel und gefährlich.

## Was schiefgeht

Die Zeilen brauchen einen Ort. Auf der Platte des Servers werden sie irgendwann gelöscht oder die Platte läuft voll. In einem Sammeldienst bleiben sie durchsuchbar, auch nachdem der Container neu gestartet wurde. Dazu kommt die Frage, wie lange du sie behältst. Zu kurz, und der Fehler von gestern ist weg. Zu lang, und du lagerst Daten, die du nicht brauchst.

## Was du sonst selbst pflegst

Im eigenen Setup baust du diesen Ort für jedes Projekt. Format, Aufbewahrung und Zugriff sind sonst jedes Mal anders, und im Ernstfall suchst du an der falschen Stelle.

## Wie es auf MainPath vorkommt

Auf MainPath gehört Logging zum Betrieb des Projekts. Abstürze und Ausnahmen landen zusätzlich in Sentry, damit du nicht nur eine Zeile siehst, sondern den Ablauf bis zum Fehler.

