Registro - AWS SDK para Go v2

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Registro

AWS SDK para Go cuenta con servicios de registro que permiten a la aplicación habilitar información de depuración a fin de depurar y diagnosticar problemas o errores relacionados con las solicitudes. La interfaz Logger y ClientLogMode son los principales componentes disponibles para determinar cómo y qué deben registrar los clientes.

Logger

Al crear un objeto Config mediante LoadDefaultConfig, se configura un objeto Logger predeterminado para enviar mensajes de registro al error estándar del proceso (stderr). Un registrador que cumpla con la interfaz Logger se puede pasar como argumento a LoadDefaultConfig mediante su encapsulación con config.WithLogger.

Por ejemplo, para configurar nuestros clientes de forma que usen nuestro applicationLogger:

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

Ahora, los clientes configurados mediante la instancia de aws.Config creada enviarán mensajes de registro a applicationLogger.

Registradores dependientes del contexto

Una implementación de registrador puede implementar la interfaz ContextLogger opcional. Los métodos WithContext de los registradores que implementen esta interfaz se invocan con el contexto actual. Esto permite que sus implementaciones de registro devuelvan un Logger nuevo que puede escribir metadatos de registro adicionales en función de los valores presentes en el contexto.

ClientLogMode

De forma predeterminada, los clientes de servicio no generan mensajes de registro. Para configurar los clientes de forma que envíen mensajes de registro con fines de depuración, utilice el miembro ClientLogMode en Config. ClientLogMode se puede configurar para habilitar la mensajería de depuración para:

  • Firma de Signature Version 4 (SigV4)

  • Reintentos de solicitud

  • Solicitudes HTTP

  • Respuestas HTTP

Por ejemplo, para habilitar el registro de solicitudes y reintentos HTTP:

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

Consulte ClientLogMode para ver los diferentes modos de registro de clientes disponibles.