Configuration de la journalisation centralisée dans Go avec Logrus
Logrus est un package de journalisation populaire pour les applications Go. Bien qu'il fournisse des options configurables, la gestion de ces configurations sur plusieurs fichiers sources peut s'avérer fastidieuse.
Cependant, il est possible de réaliser une configuration centralisée pour logrus sans avoir à définir des options dans chaque fichier. Voici trois approches efficaces :
1. Variable de journal globale : Vous pouvez définir une variable de journal globale comme suit :
import log "github.com/Sirupsen/logrus" var log = logrus.New()
Maintenant, toutes les fonctions Logrus comme log.SetOutput() modifieront l'enregistreur global, en appliquant ces configurations dans toute l'application.
2. Wrapper d'enregistreur personnalisé : Définissez un package personnalisé qui encapsule l'enregistreur Logrus et fournit vos propres fonctions d'encapsuleur :
// package customlog package customlog import ( "github.com/Sirupsen/logrus" ) var logger = logrus.New() func Info(args ...interface{}) { logger.Info(args...) } func Debug(args ...interface{}) { logger.Debug(args...) }
Dans votre application, importez ce package personnalisé et utilisez ses fonctions à la place :
import "customlog" customlog.Info("This message will be logged through the central logger.")
3. Fonctions de niveau supérieur : Vous pouvez créer des fonctions de niveau supérieur qui encapsulent les fonctions Logrus et modifier l'enregistreur global :
import "github.com/Sirupsen/logrus" func SetLevel(level logrus.Level) { logrus.SetLevel(level) } func SetFormatter(formatter logrus.Formatter) { logrus.SetFormatter(formatter) }
Avec l'une de ces approches, vous pouvez centraliser la gestion des configurations Logrus dans un emplacement unique, ce qui permet d'ajuster facilement les paramètres de journalisation en un seul endroit et de les appliquer dans toute votre application.
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!