Skip to content

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 setzen

Beispiel

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) // Setzen

Konstanten

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) *Logger

Zusammenfassend bietet das log Paket der Standardbibliothek nicht genug Funktionen. Normalerweise verwenden wir vollständigere Protokoll-Pakete von Drittanbietern wie zap usw.

Golang by www.golangdev.cn edit