Skip to content

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 prefisso

Esempio

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

Costanti

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

In 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.

Golang by www.golangdev.cn edit