diff --git a/acceptance/values.yaml b/acceptance/values.yaml index 2314ba5a..12bb437d 100644 --- a/acceptance/values.yaml +++ b/acceptance/values.yaml @@ -1,7 +1,7 @@ # Set actions-runner-controller settings for testing -logLevel: "-3" +logLevel: "-4" githubWebhookServer: - logLevel: "-3" + logLevel: "-4" enabled: true labels: {} replicaCount: 1 diff --git a/logging/transport.go b/logging/transport.go index 9d61a318..50564b7b 100644 --- a/logging/transport.go +++ b/logging/transport.go @@ -2,6 +2,8 @@ package logging import ( + "bytes" + "io" "net/http" "github.com/go-logr/logr" @@ -47,5 +49,18 @@ func (t Transport) log(req *http.Request, resp *http.Response) { args = append(args, "ratelimit_remaining", remaining) } + if t.Log.V(4).Enabled() { + var buf bytes.Buffer + + if _, err := io.Copy(&buf, resp.Body); err != nil { + t.Log.V(3).Info("unable to copy http response", "error", err) + } + resp.Body.Close() + + t.Log.V(4).Info("Logging HTTP round-trip", "method", req.Method, "requestHeader", req.Header, "statusCode", resp.StatusCode, "responseHeader", resp.Header, "responseBody", buf.String()) + + resp.Body = io.NopCloser(&buf) + } + t.Log.V(3).Info("Seen HTTP response", args...) }