log
Die Go-Standardbibliothek log implementiert einfache Protokollierung.
go
func main() {
log.Println("Log")
log.Panicln("Panic-Log")
log.Fatalln("Fehler-Log")
}Fatal ruft nach dem Schreiben der Log-Informationen os.exit(1) auf, während Panic einen panic auslöst.
Präfix
go
func (l *Logger) Prefix() string // Präfix abrufen
func (l *Logger) SetPrefix(prefix string) // Präfix setzenBeispiel
go
func main() {
log.SetPrefix("[main]")
log.Println("Log")
log.Panicln("Panic-Log")
}Flag
Methoden
go
func (l *Logger) Flags() int // Abrufen
func (l *Logger) SetFlags(flag int) // SetzenKonstanten
go
const (
Ldate = 1 << iota // Datum
Ltime // Zeit
Lmicroseconds // Mikrosekunden
Llongfile // Vollständiger Dateiname
Lshortfile // Kurzer Dateiname
LUTC // Zeitzone
Lmsgprefix // Präfix
LstdFlags = Ldate | Ltime // Standardwert
)Beispiel
go
func main() {
log.SetFlags(log.Lshortfile | log.Lmicroseconds | log.Lmsgprefix | log.Ldate | log.Ltime)
log.Println("Log")
log.Panicln("Panic-Log")
}Natürlich können Sie auch log.SetOutput(w io.Writer) verwenden, um den Ausgabepfad des Logs festzulegen. Sie können auch mit der New-Methode Ihre eigene Instanz erstellen.
go
func New(out io.Writer, prefix string, flag int) *LoggerZusammenfassend bietet das log Paket der Standardbibliothek nicht genug Funktionen. Normalerweise verwenden wir vollständigere Protokoll-Pakete von Drittanbietern wie zap usw.
