Maison > Article > développement back-end > Comment se connecter simultanément à la console et au fichier dans Go ?
Connexion simultanée à la console et au fichier dans Go
Pour diriger les messages de journal vers un fichier, le code utilise généralement log.SetOutput(logFile) . Cependant, si vous souhaitez à la fois la sortie de la console et la journalisation dans un fichier, voici une solution utilisant io.MultiWriter.
Qu'est-ce que io.MultiWriter ?
Un io.MultiWriter permet d'écrire des données vers plusieurs destinations simultanément. Cela ressemble au comportement de la commande tee Unix.
Solution
Pour vous connecter à la fois à la console et à un fichier :
logFile, err := os.OpenFile("log.txt", os.O_CREATE | os.O_APPEND | os.O_RDWR, 0666) if err != nil { panic(err) }
mw := io.MultiWriter(os.Stdout, logFile)
log.SetOutput(mw)
Exemple
package main import ( "log" "os" "io" ) func main() { logFile, err := os.OpenFile("log.txt", os.O_CREATE | os.O_APPEND | os.O_RDWR, 0666) if err != nil { panic(err) } mw := io.MultiWriter(os.Stdout, logFile) log.SetOutput(mw) log.Println("This is a log message") }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!