Experimetanl log level "-4" for logging every HTTP round-trip for GitHub API calls

This commit is contained in:
Yusuke Kuoka 2022-03-12 12:11:16 +00:00
parent 22ef7b3a71
commit 83e550cde5
2 changed files with 17 additions and 2 deletions

View File

@ -1,7 +1,7 @@
# Set actions-runner-controller settings for testing # Set actions-runner-controller settings for testing
logLevel: "-3" logLevel: "-4"
githubWebhookServer: githubWebhookServer:
logLevel: "-3" logLevel: "-4"
enabled: true enabled: true
labels: {} labels: {}
replicaCount: 1 replicaCount: 1

View File

@ -2,6 +2,8 @@
package logging package logging
import ( import (
"bytes"
"io"
"net/http" "net/http"
"github.com/go-logr/logr" "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) 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...) t.Log.V(3).Info("Seen HTTP response", args...)
} }