Maison > développement back-end > Golang > le corps du texte

Comment se connecter à la fois à la console et au fichier dans Go ?

Linda Hamilton
Libérer: 2024-11-16 17:51:03
original
933 Les gens l'ont consulté

How to Log to Both Console and File in Go?

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)
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal