Update pkg/registry/transport.go

Co-authored-by: Scott Rigby <scott@r6by.com>
Signed-off-by: Terry Howe <terrylhowe@gmail.com>
pull/30945/head
Terry Howe 4 months ago
parent cea26d8bca
commit a16e986d4e
No known key found for this signature in database

@ -49,6 +49,7 @@ const payloadSizeLimit int64 = 16 * 1024 // 16 KiB
// request and add hooks to report HTTP tracing events. // request and add hooks to report HTTP tracing events.
type LoggingTransport struct { type LoggingTransport struct {
http.RoundTripper http.RoundTripper
logger *slog.Logger
} }
// NewTransport creates and returns a new instance of LoggingTransport // NewTransport creates and returns a new instance of LoggingTransport
@ -79,11 +80,10 @@ func NewTransport(debug bool) *retry.Transport {
} }
return a return a
} }
logger := slog.New(slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{ logger := slog.New(slog.NewTextHandler(os.Stderr, &slog.HandlerOptions{
ReplaceAttr: replace, ReplaceAttr: replace,
Level: slog.LevelDebug})) Level: slog.LevelDebug}))
slog.SetDefault(logger) transport = &LoggingTransport{RoundTripper: transport, logger: logger}
transport = &LoggingTransport{RoundTripper: transport}
} }
return retry.NewTransport(transport) return retry.NewTransport(transport)
@ -93,14 +93,14 @@ func NewTransport(debug bool) *retry.Transport {
func (t *LoggingTransport) RoundTrip(req *http.Request) (resp *http.Response, err error) { func (t *LoggingTransport) RoundTrip(req *http.Request) (resp *http.Response, err error) {
id := atomic.AddUint64(&requestCount, 1) - 1 id := atomic.AddUint64(&requestCount, 1) - 1
slog.Debug("Request", "id", id, "url", req.URL, "method", req.Method, "header", logHeader(req.Header)) t.logger.Debug("Request", "id", id, "url", req.URL, "method", req.Method, "header", logHeader(req.Header))
resp, err = t.RoundTripper.RoundTrip(req) resp, err = t.RoundTripper.RoundTrip(req)
if err != nil { if err != nil {
slog.Debug("Response", "id", id, "error", err) t.logger.Debug("Response", "id", id, "error", err)
} else if resp != nil { } else if resp != nil {
slog.Debug("Response", "id", id, "status", resp.Status, "header", logHeader(resp.Header), "body", logResponseBody(resp)) t.logger.Debug("Response", "id", id, "status", resp.Status, "header", logHeader(resp.Header), "body", logResponseBody(resp))
} else { } else {
slog.Debug("Response", "id", id, "response", "nil") t.logger.Debug("Response", "id", id, "response", "nil")
} }
return resp, err return resp, err

Loading…
Cancel
Save