Go
Enregistrement
Recherche…
Impression de base
Go dispose d'une bibliothèque de journalisation intégrée appelée log
avec une méthode d'utilisation courante, Print
et ses variantes. Vous pouvez importer la bibliothèque puis faire des impressions de base:
package main
import "log"
func main() {
log.Println("Hello, world!")
// Prints 'Hello, world!' on a single line
log.Print("Hello, again! \n")
// Prints 'Hello, again!' but doesn't break at the end without \n
hello := "Hello, Stackers!"
log.Printf("The type of hello is: %T \n", hello)
// Allows you to use standard string formatting. Prints the type 'string' for %T
// 'The type of hello is: string
}
Connexion au fichier
Il est possible de spécifier la destination du journal avec quelque chose qui correspond à l'interface io.Writer. Avec ça on peut se connecter au fichier:
package main
import (
"log"
"os"
)
func main() {
logfile, err := os.OpenFile("test.log", os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666)
if err != nil {
log.Fatalln(err)
}
defer logfile.Close()
log.SetOutput(logfile)
log.Println("Log entry")
}
Sortie:
$ cat test.log
2016/07/26 07:29:05 Log entry
Connexion à syslog
Il est également possible de se connecter à syslog avec log/syslog
comme ceci:
package main
import (
"log"
"log/syslog"
)
func main() {
syslogger, err := syslog.New(syslog.LOG_INFO, "syslog_example")
if err != nil {
log.Fatalln(err)
}
log.SetOutput(syslogger)
log.Println("Log entry")
}
Après l'exécution, nous pourrons voir cette ligne dans syslog:
Jul 26 07:35:21 localhost syslog_example[18358]: 2016/07/26 07:35:21 Log entry
Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow