Skip to content

log

Le package log de la bibliothèque standard Go implémente une journalisation simple.

go
func main() {
   log.Println("journal")
   log.Panicln("journal panic")
   log.Fatalln("journal d'erreur")
}

Fatal appellera os.exit(1) après avoir écrit le message de log, panic lancera une panic

Préfixe

go
func (l *Logger) Prefix() string //obtenir le préfixe

func (l *Logger) SetPrefix(prefix string) //définir le préfixe

Exemple

go
func main() {
  log.SetPrefix("[main]")
  log.Println("journal")
  log.Panicln("journal panic")
}

Flag

Méthodes

go
func (l *Logger) Flags() int //accéder

func (l *Logger) SetFlags(flag int) //définir

Constantes

go
const (
   Ldate         = 1 << iota     // date
   Ltime                         // heure
   Lmicroseconds                 // microsecondes
   Llongfile                     // nom de fichier complet
   Lshortfile                    // nom de fichier court
   LUTC                          // fuseau horaire
   Lmsgprefix                    // préfixe
   LstdFlags     = Ldate | Ltime // valeur initiale
)

Exemple

go
func main() {
   log.SetFlags(log.Lshortfile | log.Lmicroseconds | log.Lmsgprefix | log.Ldate | log.Ltime)
   log.Println("journal")
   log.Panicln("journal panic")
}

Vous pouvez également utiliser log.SetOutput(w io.Writer) pour définir le chemin de sortie des logs, ou créer votre propre instance via la méthode New.

go
func New(out io.Writer, prefix string, flag int) *Logger

En résumé, le package log de la bibliothèque standard ne fournit pas de fonctionnalités suffisamment complètes. Nous utilisons généralement des packages de journalisation tiers plus complets, comme zap, etc.

Golang by www.golangdev.cn edit