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éfixeExemple
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éfinirConstantes
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) *LoggerEn 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.
