Maison > développement back-end > Golang > Comment enregistrer des messages dans la console et dans un fichier dans Go ?

Comment enregistrer des messages dans la console et dans un fichier dans Go ?

Patricia Arquette
Libérer: 2024-11-15 06:10:03
original
261 Les gens l'ont consulté

How to Log Messages to Both Console and File in Go?

Comment enregistrer des messages vers plusieurs destinations dans Go

Lors de l'enregistrement de messages dans Go, il peut être nécessaire d'afficher les journaux à la fois sur la console et un fichier simultanément. Bien qu'il soit simple de diriger les messages uniquement vers un fichier à l'aide de log.SetOutput(logFile), il existe un moyen d'activer la journalisation dans les terminaux et les fichiers cibles.

Implémentation de plusieurs destinations

Pour réaliser la connexion à plusieurs destinations, utilisez io.MultiWriter. Comme son nom l'indique, MultiWriter facilite l'écriture simultanée sur plusieurs rédacteurs, similaire à la commande Unix tee(1).

Voici comment implémenter cela à l'aide de MultiWriter :

import (
  "os"
  "io"
  "log"
)

func main() {
  logFile, err := os.OpenFile("log.txt", os.O_CREATE|os.O_APPEND|os.O_RDWR, 0666)
  if err != nil {
    panic(err)
  }
  
  // Initialize io.MultiWriter to write to both file and console
  mw := io.MultiWriter(os.Stdout, logFile)
  
  // Set output to MultiWriter
  log.SetOutput(mw)
}
Copier après la connexion

Dans cet exemple , mw est une instance io.MultiWriter qui écrit à la fois dans os.Stdout (console) et dans le fichier journal. En définissant log.SetOutput(mw), tous les messages de journal suivants seront imprimés dans la console et enregistrés dans le fichier spécifié.

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