Journalisation - AWS SDK pour Go v2

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Journalisation

AWS SDK pour Go Il dispose de fonctionnalités de journalisation qui permettent à votre application d'activer les informations de débogage pour le débogage et le diagnostic des problèmes ou des échecs liés aux demandes. L'interface Logger et ce ClientLogModesont les principaux composants à votre disposition pour déterminer comment et ce qui doit être enregistré par les clients.

Logger

Lors de la construction d'une Config, LoadDefaultConfigune configuration par défaut Logger est configurée pour envoyer des messages de journal à l'erreur standard du processus (stderr). Un enregistreur personnalisé qui répond à l'interface Logger peut être transmis en tant qu'argument en l'LoadDefaultConfigenveloppant avec config. WithLogger.

Par exemple, pour configurer nos clients afin qu'ils utilisent notre applicationLogger :

cfg, err := config.LoadDefaultConfig(context.TODO(), config.WithLogger(applicationLogger))

Désormais, les clients configurés à l'aide de la construction aws.Config enverront des messages de journal àapplicationLogger.

Enregistreurs sensibles au contexte

Une implémentation de Logger peut implémenter l'ContextLoggerinterface optionnelle. Les WithContext méthodes des enregistreurs qui implémentent cette interface seront invoquées dans le contexte actuel. Cela permet à vos implémentations de journalisation de renvoyer un nouveau Logger qui peut écrire des métadonnées de journalisation supplémentaires en fonction des valeurs présentes dans le contexte.

ClientLogMode

Par défaut, les clients du service ne produisent pas de messages de journal. Pour configurer les clients afin qu'ils envoient des messages de journal à des fins de débogage, utilisez le ClientLogModemembre onConfig. ClientLogModepeut être configuré pour activer les messages de débogage pour :

  • Signature version 4 (SigV4)

  • Demander de nouvelles tentatives

  • Requêtes HTTP

  • Réponses HTTP

Par exemple, pour activer la journalisation des requêtes et des tentatives HTTP :

cfg, err := config.LoadDefaultConfig(context.TODO(), config.WithClientLogMode(aws.LogRetries | aws.LogRequest))

Consultez ClientLogModeles différents modes de journalisation des clients disponibles.