Junior — Middle
Wo machst du normalerweise die Protokollierung in der Anwendung oder im System?
sobes.tech KI
Antwort von AI
In Go erfolgt die Protokollierung in der Regel mit dem Standardpaket log oder fortgeschritteneren Bibliotheken wie zap, logrus oder zerolog.
Logs werden üblicherweise geschrieben:
- In die Konsole (stdout/stderr) — praktisch für lokale Entwicklung und containerisierte Anwendungen.
- In Dateien — für langfristige Speicherung und Analyse.
- In entfernte Logging-Systeme (z.B. via syslog, Fluentd, ELK-Stack).
Beispiel für das Schreiben eines Logs in eine Datei mit dem Standardpaket:
package main
import (
"log"
"os"
)
func main() {
datei, fehler := os.OpenFile("app.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
if fehler != nil {
log.Fatal(fehler)
}
defer datei.Close()
log.SetOutput(datei)
log.Println("Anwendung gestartet")
}
In echten Anwendungen werden oft flexiblere Bibliotheken verwendet, die es ermöglichen, Log-Level, Format und Ausgabe zu konfigurieren.