Heim >Backend-Entwicklung >Golang >Wie melde ich mich in Go sowohl bei der Konsole als auch bei der Datei an?
Protokollierung sowohl in der Konsole als auch in der Datei in Go
In Go können Sie Protokollnachrichten mithilfe von log.SetOutput(logFile) ganz einfach in eine Datei umleiten ). Was aber, wenn Sie diese Meldungen auch in der Konsole anzeigen möchten?
Io.MultiWriter verwenden
Um dies zu erreichen, können Sie io.MultiWriter verwenden. Dadurch wird ein Writer erstellt, der seine Schreibvorgänge an alle bereitgestellten Writer dupliziert. Dies ähnelt dem Unix-Befehl tee(1).
logFile, err := os.OpenFile("log.txt", os.O_CREATE|os.O_APPEND|os.O_RDWR, 0666) if err != nil { panic(err) } // Create a MultiWriter that writes to both the console and the file. mw := io.MultiWriter(os.Stdout, logFile) // Set the logger's output to the MultiWriter. log.SetOutput(mw)
In diesem Beispiel besteht die einzige Änderung gegenüber dem Originalcode in der Erstellung des io.MultiWriter und dem Festlegen der Ausgabe des Loggers darauf. Jetzt werden alle Protokollmeldungen sowohl in die Konsole als auch in die angegebene Datei geschrieben. Dies bietet eine bequeme Möglichkeit, Protokolle in Echtzeit zu überwachen und gleichzeitig ein dauerhaftes Protokoll zu führen.
Das obige ist der detaillierte Inhalt vonWie melde ich mich in Go sowohl bei der Konsole als auch bei der Datei an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!