golang

Forfait Golang Logrus

Forfait Golang Logrus

Dans cette leçon sur le package Logrus dans Golang, nous étudierons divers exemples sur l'efficacité de la journalisation dans Go et verrons à quel point les journaux sont importants dans le langage de programmation Go. Nous allons commencer maintenant.

Commencer par Go

Voici la structure de répertoire que j'ai faite pour mon programme Hello World :

Voici le programme que nous avons créé :

paquet principal
importer "fmt"
fonction principale()
fmt.Printf("Bonjour, monde.\n")

Nous pouvons exécuter le programme ci-dessus avec la commande suivante :

va courir bonjour.va

Une fois que nous avons exécuté cette commande, voici le résultat que vous verrez :

Maintenant ça a l'air bien. Passons à notre ordre du jour principal.

Forfait Logrus au Golang

Pour commencer à utiliser le package Logrus dans le programme Go, nous devons obtenir il. Exécutez la commande suivante :

va chercher -t github.com/Sirupsen/logrus

Lorsque nous commençons à utiliser ce package dans IntelliJ, nous voyons cette erreur que nous pouvons résoudre en un clic :

Une fois que vous obtenez le paquet, nous pouvons commencer à l'utiliser. Commençons par un programme simple.

Enregistrement de base avec Logrus

Nous allons commencer par un exemple de journalisation de niveau INFO très basique. La journalisation peut être effectuée avec des messages de chaîne et des métadonnées sous forme de paires clé-valeur qui apparaissent comme les mêmes.

paquet principal
importer (
log "github.com/Sirupsen/logrus"
)
fonction principale()
Journal.AvecChamps(log.Des champs
"site Web": "linuxhint.com",
"génial": 100,
"aide" :   200,
).Info("Golang pro")

Lorsque nous exécutons ce programme, nous pouvons voir la sortie suivante :

C'est à la fois utile et coloré!

Différents niveaux de journalisation

Maintenant, nous allons essayer un autre exemple qui montrera l'utilisation des différents niveaux de journalisation disponibles dans Logrus et en général. Elles sont:

Essayons de construire un programme et voyons comment ces niveaux de journal diffèrent lorsqu'ils apparaissent dans notre programme :

paquet principal
importer (
log "github.com/Sirupsen/logrus"
)
fonction principale()
Journal.AvecChamps(log.Des champs
"site Web": "linuxhint.com",
"génial": 100,
).Info("Message INFO Golang pro")
Journal.AvecChamps(log.Des champs
"site Web": "linuxhint.com",
"génial": 100,
).Avertir("Message d'AVERTISSEMENT Golang pro")
Journal.AvecChamps(log.Des champs
"site Web": "linuxhint.com",
"génial": 100,
).Fatal("Message Golang pro FATAL")
Journal.AvecChamps(log.Des champs
"site Web": "linuxhint.com",
"génial": 100,
).Panique("Message Golang pro PANIQUE")
Journal.AvecChamps(log.Des champs
"site Web": "linuxhint.com",
"génial": 100,
).Debug ("Message de DEBUG Golang pro")

Lorsque nous exécutons ce programme, nous verrons la sortie suivante :

Remarqué quelque chose? Les instructions de journal après l'instruction Fatal n'apparaissent même pas dans notre sortie. C'est parce que dès qu'une erreur fatale est reçue, l'exécution du programme s'arrête dans Golang.

Modifions l'ordre de ces instructions et vérifions si des changements de sortie sont également observés :

Cette fois, même le niveau Panic Log a réagi de la même manière mais la sortie était très différente et détaillée.

Avec le niveau de journal Panic, vous vous assurez que suffisamment d'informations sur la machine hôte sont également imprimées dans la sortie de la console afin que le travail soit débogage.

Un moyen plus simple de créer des journaux

Dans les appels ci-dessus, les journaux étaient assez détaillés et avec des métadonnées également. Il existe un moyen plus simple de consigner vos messages. Essayons ceci maintenant :

paquet principal
importer (
log "github.com/Sirupsen/logrus"
)
fonction principale()
Journal.Debug("Débogage des données ici.")
Journal.Info("Messages pour informations courantes")
Journal.Warn("Vous devriez regarder cet avertissement!")
Journal.Erreur("Quelque chose a échoué mais le programme continuera.")
// Appelle os.Quitter(1) après la connexion
Journal.Fatal("Je pars.")
// Appelle panic() après la connexion
Journal.Panique("Je ne serai pas imprimé :(")

Voici la sortie du programme :

Le comportement pour la journalisation était le même mais cette fois, ils étaient faciles à faire en une seule ligne.

Conclusion

Dans cet article, nous avons étudié des exemples simples mais utiles sur la façon dont nous pouvons enregistrer des messages importants avec une gravité et une verbosité différentes dans nos applications en utilisant le package Logrus avec Golang.

5 meilleurs jeux d'arcade pour Linux
De nos jours, les ordinateurs sont des machines sérieuses utilisées pour les jeux. Si vous ne pouvez pas obtenir le nouveau score élevé, vous saurez c...
Bataille pour Wesnoth 1.13.6 Développement publié
Bataille pour Wesnoth 1.13.6 publiée le mois dernier, est la sixième version de développement de la 1.13.x series et il apporte un certain nombre d'am...
Comment installer League Of Legends sur Ubuntu 14.04
Si vous êtes fan de League of Legends, alors c'est l'occasion pour vous de tester League of Legends. Notez que LOL est pris en charge sur PlayOnLinux ...