Heim >Backend-Entwicklung >Golang >Wie deaktiviere ich die Anmeldung in Go-Anwendungen?
Deaktivieren des Standard-Loggers in Go
Viele Go-Anwendungen nutzen das Protokollpaket zur Protokollierung. Standardmäßig schreibt der Standard-Logger in die Standardausgabe und kann zeitweise ausführlich sein. Wenn es notwendig ist, die Protokollierung zu deaktivieren, sind einige Ansätze zu berücksichtigen.
Eine Möglichkeit besteht darin, eine Markierung manuell zu überprüfen, bevor Protokollaufrufe durchgeführt oder in der Produktion auskommentiert werden. Eine elegantere und effizientere Möglichkeit, die Protokollierung zu deaktivieren, besteht jedoch darin, die Ausgabe des Loggers umzuleiten.
Verwendung von io/ioutil.Discard
Vor Go 1.16 eine Methode von Das Deaktivieren der Protokollierung erforderte das Erstellen eines benutzerdefinierten io.Writer-Typs, der die Ausgabe verwarf. Dies kann erreicht werden, indem eine Struktur definiert wird, die die Write-Methode implementiert und dafür sorgt, dass sie die Daten verwirft:
type discardWriter struct{} func (w discardWriter) Write(p []byte) (n int, err error) { return len(p), nil }
Sie können dann diesen benutzerdefinierten Writer verwenden, um die Ausgabe des Loggers umzuleiten:
import ( "log" "io/ioutil" ) func init() { log.SetOutput(ioutil.Discard) }
Mit diesem Setup scheint der Logger auf die Standardausgabe zu schreiben, aber die Ausgabe wird stillschweigend verworfen.
Verwendung von io.Discard (Go 1.16)
In Go 1.16 und höher ist ein einfacherer Ansatz verfügbar. Das Paket io/ioutil stellt einen Discard-Writer bereit, der alle darauf geschriebenen Daten verwirft. Sie können es direkt wie folgt verwenden:
log.SetOutput(io.Discard)
Dadurch wird die Protokollierung für den Standard-Logger vollständig deaktiviert.
Das obige ist der detaillierte Inhalt vonWie deaktiviere ich die Anmeldung in Go-Anwendungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!