Skip to content

Commit 8760865

Browse files
fix: logger in context, not as a global variable (#15)
1 parent 767ef4e commit 8760865

File tree

3 files changed

+13
-4
lines changed

3 files changed

+13
-4
lines changed

cmd/aws-snapshot/main.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ func realMain() error {
3939
bufferSize = flag.Int("buffer-size", 100, "Length of buffer for records")
4040
manifestFile = flag.String("manifest-file", "", "Manifest filename")
4141
requestTimeout = flag.String("request-timeout", "", "Timeout per request, default is no timeout")
42+
verbosity = flag.Int("v", 0, "Logging verbosity, full debug is 6")
4243
)
4344

4445
flag.Parse()
@@ -75,6 +76,10 @@ func realMain() error {
7576
timeout = &t
7677
}
7778

79+
if *verbosity > 0 {
80+
stdr.SetVerbosity(*verbosity)
81+
}
82+
7883
logger := stdr.New(log.New(os.Stderr, "", log.LstdFlags|log.Lshortfile))
7984

8085
runner := api.Runner{

pkg/api/api.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111

1212
"github.com/aws/aws-sdk-go/aws"
1313
"github.com/aws/aws-sdk-go/aws/client"
14+
"github.com/go-logr/logr"
1415
)
1516

1617
// Service (e.g. RDS, IAM, S3) provides the means of creating an Endpoint
@@ -63,12 +64,17 @@ func prefixError(name string, reqs []Request) []Request {
6364
rq := r
6465

6566
res = append(res, func(ctx context.Context, ch chan<- *Record) error {
66-
logger.Info(fmt.Sprintf("Snapshot: starting %s", name))
67+
logger := logr.FromContextOrDiscard(ctx)
68+
logger.V(6).Info("request start", "action", name)
6769

6870
if err := rq(ctx, ch); err != nil {
71+
logger.V(6).Info("request complete", "action", name, "error", err.Error())
72+
6973
return fmt.Errorf("failed to run %q: %w", name, err)
7074
}
7175

76+
logger.V(6).Info("request complete", "action", name)
77+
7278
return nil
7379
})
7480
}

pkg/api/runner.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ import (
99

1010
const defaultBufferSize = 100
1111

12-
var logger = logr.Discard()
13-
1412
type Runner struct {
1513
Requests []Request
1614
Recorder Recorder
@@ -96,7 +94,7 @@ func withSemaphore(fns []Request, maxConcurrency int, requestTimeout *time.Durat
9694

9795
func (r *Runner) Run(ctx context.Context) error {
9896
if r.Logger != nil {
99-
logger = *r.Logger
97+
ctx = logr.NewContext(ctx, *r.Logger)
10098
}
10199

102100
requestFunc := withSemaphore(r.Requests, r.MaxConcurrentRequests, r.RequestTimeout)

0 commit comments

Comments
 (0)