如何使用AWS SDK Golang记录错误及重试的请求/响应体
解决方案
你当前的配置只开启了错误和重试请求的日志事件,但AWS SDK for Go默认不会记录请求/响应体,需要额外配置日志器的LogBody参数来实现这一点。
具体实现步骤如下:
- 创建自定义日志器,显式开启
LogBody选项,同时保留你需要的日志级别 - 将该日志器关联到DAX的配置中
示例代码:
cfg := dax.DefaultConfig() cfg.HostPorts = []string{daxConfig.URL} cfg.Region = daxConfig.Region // 创建自定义日志器,开启请求/响应体日志 logger := aws.NewDefaultLogger() logger.SetLogLevel(aws.LogDebugWithRequestRetries | aws.LogDebugWithRequestErrors) logger.SetLogBody(true) // 将日志器绑定到DAX配置 cfg.Logger = logger
关键说明
SetLogBody(true):这是让日志器输出请求和响应体的核心配置,默认值为false,所以之前的配置不会打印体内容- 保留
LogDebugWithRequestRetries | aws.LogDebugWithRequestErrors的日志级别,确保只记录错误请求和重试场景下的请求/响应,避免产生冗余日志
内容的提问来源于stack exchange,提问作者Pravesh Agarwal
相关产品推荐
相关产品推荐

