Maison > Article > développement back-end > Comment désactiver la connexion dans les applications Go ?
Désactivation de l'enregistreur par défaut dans Go
De nombreuses applications Go utilisent le package de journaux pour la journalisation. Par défaut, l'enregistreur standard écrit sur la sortie standard et peut parfois être verbeux. Lorsqu'il est nécessaire de désactiver la journalisation, plusieurs approches sont à considérer.
Une option consiste à vérifier manuellement un indicateur avant d'effectuer des appels de journal ou de les commenter en production. Cependant, un moyen plus élégant et plus efficace de désactiver la journalisation consiste à rediriger la sortie de l'enregistreur.
Utilisation de io/ioutil.Discard
Avant Go 1.16, une méthode de la désactivation de la journalisation impliquait la création d'un type io.Writer personnalisé qui supprimait la sortie. Ceci peut être réalisé en définissant une structure qui implémente la méthode Write et lui fait supprimer les données :
type discardWriter struct{} func (w discardWriter) Write(p []byte) (n int, err error) { return len(p), nil }
Vous pouvez ensuite utiliser cet écrivain personnalisé pour rediriger la sortie de l'enregistreur :
import ( "log" "io/ioutil" ) func init() { log.SetOutput(ioutil.Discard) }
Avec cette configuration, l'enregistreur semblera écrire sur la sortie standard, mais la sortie sera silencieusement ignorée.
Utilisation io.Discard (Go 1.16)
Dans Go 1.16 et versions ultérieures, une approche plus simple est disponible. Le package io/ioutil fournit un enregistreur Discard qui supprime toutes les données qui y sont écrites. Vous pouvez l'utiliser directement comme suit :
log.SetOutput(io.Discard)
Cela désactivera complètement la journalisation pour l'enregistreur standard.
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!