Connexion à la fois à la console et au fichier dans Go
Dans Go, vous pouvez facilement diriger les messages de journal vers un fichier à l'aide de log.SetOutput(logFile ). Mais que faire si vous souhaitez également afficher ces messages dans la console ?
Utiliser io.MultiWriter
Pour y parvenir, vous pouvez utiliser io.MultiWriter. Cela crée un rédacteur qui duplique ses écritures sur tous les rédacteurs fournis. Ceci est similaire à la commande Unix tee(1).
logFile, err := os.OpenFile("log.txt", os.O_CREATE|os.O_APPEND|os.O_RDWR, 0666) if err != nil { panic(err) } // Create a MultiWriter that writes to both the console and the file. mw := io.MultiWriter(os.Stdout, logFile) // Set the logger's output to the MultiWriter. log.SetOutput(mw)
Dans cet exemple, le seul changement par rapport au code d'origine est la création du io.MultiWriter et la définition de la sortie de l'enregistreur sur celui-ci. Désormais, tous les messages de journal seront écrits à la fois dans la console et dans le fichier spécifié, offrant ainsi un moyen pratique de surveiller les journaux en temps réel tout en conservant un journal persistant.
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!