日志记录 - 适用于 Go 的 AWS SDK v2

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

日志记录

适用于 Go 的 AWS SDK 具有可用的日志功能,允许您的应用程序启用调试信息,以调试和诊断请求问题或失败。Logger 接口和ClientLogMode是可供您决定客户端应如何记录和记录内容的主要组件。

日志记录程序

构建 C onfig 时 LoadDefaultConfig,使用默认配置Logger为向进程的标准错误 (stderr) 发送日志消息。可以将满足 Logger 接口的自定义记录器作为参数传递给,方法是将其与配置LoadDefaultConfig一起包装。 WithLogger

例如,要将我们的客户配置为使用我们的applicationLogger

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

现在,使用构造配置的客户端aws.Config将向发送日志消息applicationLogger

情境感知记录器

Logger 实现可以实现可选ContextLogger接口。实现此接口的 Logger 将在当前上下文中调用其WithContext方法。这允许你的日志实现返回一个新的日志记录元数据Logger,它可以根据上下文中存在的值写入额外的日志元数据。

ClientLogMode

默认情况下,服务客户端不生成日志消息。要将客户端配置为出于调试目的发送日志消息,请使用 on 中的ClientLogMode成员ConfigClientLogMode可以设置为启用以下内容的调试消息:

  • 签名版本 4 (Sigv4) 签名

  • 请求重试

  • HTTP 请求

  • HTTP 响应

例如,要启用 HTTP 请求和重试记录,请执行以下操作:

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

ClientLogMode有关可用的不同客户端日志模式,请参阅。