Maison > développement back-end > Golang > le corps du texte

Comment se connecter à Golang

PHPz
Libérer: 2023-04-23 17:15:57
original
1113 Les gens l'ont consulté

Golang est un langage de programmation efficace et supérieur aux autres langages à bien des égards. La journalisation est une tâche critique lorsqu'il s'agit d'enregistrer le comportement de votre application. Dans Golang, la journalisation est cruciale pour le débogage et le test des applications.

Cet article présentera la méthode de connexion dans Golang. Nous discuterons des enregistreurs de la bibliothèque standard ainsi que des bibliothèques tierces.

Utilisez la bibliothèque standard pour vous connecter

La bibliothèque standard de Golang possède un package appelé "log", qui fournit un moyen simple de se connecter. Ce package fournit trois niveaux de journalisation : Informations, Avertissement et Erreur.

Vous devez d'abord importer l'enregistreur :

import "log"
Copier après la connexion
  1. Enregistrer les informations

Enregistrer les informations en appelant la fonction "log.Println()". Il enregistre un message dans la sortie d'erreur standard.

log.Println("Record this info")
Copier après la connexion

Ce code affichera des informations similaires aux suivantes :

2019/11/22 20:04:14 Record this info
Copier après la connexion
  1. Enregistrer les avertissements

Enregistrer les avertissements en appelant la fonction "log.Println()". Il enregistre un avertissement sur l'erreur standard et ajoute "WARN" au message.

log.Println("WARN: Warning message here")
Copier après la connexion

Ce code affichera des informations similaires aux suivantes :

2019/11/22 20:05:20 WARN: Warning message here
Copier après la connexion
  1. Logging Errors

Enregistre les erreurs en appelant la fonction "log.Println()". Il enregistre une erreur dans l'erreur standard et ajoute "ERREUR" au message.

log.Panicln("ERROR: error message here")
Copier après la connexion

Ce code affichera des informations similaires aux suivantes :

2019/11/22 20:06:28 ERROR: error message here
panic: ERROR: error message here

goroutine 1 [running]:
log.Panicln(0xc42000e170, 0x1, 0x1)
        /usr/local/go/src/log/log.go:341 +0xc4
main.main()
        /root/go/src/main.go:10 +0x55
exit status 2
Copier après la connexion

Le code ci-dessus provoquera la panique du programme. Lorsqu'une erreur se produit, le programme se termine immédiatement après avoir enregistré l'erreur et génère des informations détaillées sur l'erreur.

Utilisation de bibliothèques tierces pour la journalisation

La fonctionnalité de journalisation fournie par la bibliothèque standard a ses limites. Vous pouvez utiliser des bibliothèques tierces pour étendre les capacités de journalisation. Étant donné que les bibliothèques de journalisation tierces offrent des fonctionnalités riches, elles sont plus pratiques pour le débogage et les tests d'applications.

Ici, nous prenons comme exemple la bibliothèque de classes "go-logging". Il peut enregistrer plusieurs niveaux de journalisation (Info, Avertissement, Erreur et Débogage).

Première installation de "go-logging":

go get github.com/op/go-logging
Copier après la connexion

Importer la bibliothèque:

import (
     "github.com/op/go-logging"
     "os"
)
Copier après la connexion
  1. Initialiser l'enregistreur

Utilisez la fonction "logging.MustGetLogger()" pour initialiser l'enregistreur. Vous pouvez éventuellement spécifier un nom comme paramètre pour l'identifier entre plusieurs enregistreurs.

var log = logging.MustGetLogger("example")
Copier après la connexion
  1. Définir le niveau de journalisation

Après avoir initialisé l'enregistreur, vous pouvez utiliser la fonction "log.SetLevel()" pour définir le niveau de journalisation. Cette fonction accepte un paramètre de type logging.Level (incluant Debug, Info, Warning et Error).

logging.SetLevel(logging.DEBUG, "example")
Copier après la connexion
  1. Créez un enregistreur de fichiers

Créez un enregistreur de fichiers en utilisant la fonction "os.Create()":

logFile, err := os.Create("app.log")
if err != nil {
     log.Error("Cannot create log file", err)
}
defer logFile.Close()
Copier après la connexion
  1. Créez un formateur

Créez un formateur pour formater les entrées du fichier journal :

formatter := logging.MustStringFormatter(
"%{time:2006/01/02 15:04:05.000} %{shortfile} %{level:.6s} %{message}")
Copier après la connexion
  1. Configuration de l'enregistreur de fichiers

Créez un enregistreur de fichiers via la fonction "logging.NewBackendFormatter()":

backend := logging.NewBackendFormatter(
 logging.NewLogBackend(logFile, "", 0),
 formatter)
Copier après la connexion
  1. Ajoutez l'enregistreur de fichiers au logger

Vous devez ajouter l'enregistreur de fichiers avant de l'ajouter. l'enregistreur de fichiers est intégré dans un backend :

logging.SetBackend(backend)
Copier après la connexion

Ou ajoutez plusieurs enregistreurs :

logging.SetBackend(logging.MultiLogger(
     logging.MultiWriter(os.Stdout, logFile),
     logging.MultiWriter(os.Stderr, logFile),
))
Copier après la connexion
  1. Journalisation

Maintenant, vous pouvez utiliser le niveau transmis par l'enregistreur pour "enregistrer" les informations du journal :

log.Infof("This is a info message with %d", 123)
log.Warningf("This is a warning message with %s", "param")
log.Errorf("This is a error message with %v", err)
Copier après la connexion

Le code ci-dessus log est formaté au fur et à mesure de sa journalisation, puis écrit dans le fichier journal.

Résumé :

La bibliothèque standard de Golang fournit une méthode de journalisation simple. Cependant, l'utilisation d'une bibliothèque tierce vous donne un meilleur contrôle sur le comportement et le format de l'enregistreur. En utilisant la bibliothèque « logging », vous pouvez enregistrer plusieurs niveaux de journalisation et les écrire dans un fichier.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal