log
Il pacchetto log della libreria standard di Go implementa una semplice funzionalità di logging.
go
func main() {
log.Println("Log")
log.Panicln("Log panic")
log.Fatalln("Log errore")
}Fatal chiamerà os.exit(1) dopo aver scritto il messaggio di log, mentre panic lancerà un panic.
Prefisso
go
func (l *Logger) Prefix() string // Ottiene il prefisso
func (l *Logger) SetPrefix(prefix string) // Imposta il prefissoEsempio
go
func main() {
log.SetPrefix("[main]")
log.Println("Log")
log.Panicln("Log panic")
}Flag
Metodi
go
func (l *Logger) Flags() int // Accesso
func (l *Logger) SetFlags(flag int) // ImpostazioneCostanti
go
const (
Ldate = 1 << iota // Data
Ltime // Ora
Lmicroseconds // Microsecondi
Llongfile // Nome file completo
Lshortfile // Nome file breve
LUTC // Fuso orario
Lmsgprefix // Prefisso
LstdFlags = Ldate | Ltime // Valore iniziale
)Esempio
go
func main() {
log.SetFlags(log.Lshortfile | log.Lmicroseconds | log.Lmsgprefix | log.Ldate | log.Ltime)
log.Println("Log")
log.Panicln("Log panic")
}Naturalmente si può anche usare log.SetOutput(w io.Writer) per impostare il percorso di output del log, oppure creare la propria istanza tramite il metodo New.
go
func New(out io.Writer, prefix string, flag int) *LoggerIn sintesi, il pacchetto log della libreria standard non fornisce funzionalità sufficientemente complete, di solito si utilizzano pacchetti di logging di terze parti più completi, come zap ecc.
