From 9443f0a46792060bc8dbb194c5c5a59b920f28d9 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Wed, 6 Sep 2023 12:46:45 -0700 Subject: [PATCH] Adds logging for `aws-sdk-go-base` --- internal/backend/remote-state/s3/backend.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/internal/backend/remote-state/s3/backend.go b/internal/backend/remote-state/s3/backend.go index 542166d01f..d6007c8023 100644 --- a/internal/backend/remote-state/s3/backend.go +++ b/internal/backend/remote-state/s3/backend.go @@ -11,6 +11,7 @@ import ( "regexp" "sort" "strings" + "sync" "time" "github.com/aws/aws-sdk-go-v2/aws" @@ -18,8 +19,11 @@ import ( "github.com/aws/aws-sdk-go-v2/service/dynamodb" "github.com/aws/aws-sdk-go-v2/service/s3" awsbase "github.com/hashicorp/aws-sdk-go-base/v2" + baselogging "github.com/hashicorp/aws-sdk-go-base/v2/logging" + "github.com/hashicorp/go-hclog" "github.com/hashicorp/terraform/internal/backend" "github.com/hashicorp/terraform/internal/configs/configschema" + "github.com/hashicorp/terraform/internal/logging" "github.com/hashicorp/terraform/internal/tfdiags" "github.com/hashicorp/terraform/version" "github.com/zclconf/go-cty/cty" @@ -667,11 +671,16 @@ func (b *Backend) Configure(obj cty.Value) tfdiags.Diagnostics { } } + log := logger() + + ctx, baselog := baselogging.NewHcLogger(ctx, log) + cfg := &awsbase.Config{ AccessKey: stringAttr(obj, "access_key"), APNInfo: stdUserAgentProducts(), CallerDocumentationURL: "https://www.terraform.io/docs/language/settings/backends/s3.html", CallerName: "S3 Backend", + Logger: baselog, MaxRetries: intAttrDefault(obj, "max_retries", 5), Profile: stringAttr(obj, "profile"), Region: stringAttr(obj, "region"), @@ -1607,3 +1616,8 @@ func deprecatedEnvVarDiag(envvar, replacement string) tfdiags.Diagnostic { fmt.Sprintf(`The environment variable "%s" is deprecated. Use environment variable "%s" instead.`, envvar, replacement), ) } + +var logger = sync.OnceValue(func() hclog.Logger { + l := logging.HCLogger() + return l.Named("backend-s3") +})