Maison  >  Article  >  développement back-end  >  Comment désactiver la connexion dans les applications Go ?

Comment désactiver la connexion dans les applications Go ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-15 11:35:02474parcourir

How to Disable Logging in Go Applications?

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!

Déclaration:
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