Skip to content

Commit b1ab625

Browse files
authored
[public-api] Cleanup logging middleware (#16928)
1 parent 84d2808 commit b1ab625

File tree

1 file changed

+17
-9
lines changed
  • components/public-api-server/pkg/server

1 file changed

+17
-9
lines changed

components/public-api-server/pkg/server/logs.go

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ package server
66

77
import (
88
"context"
9+
"net/http"
910

1011
"github.com/gitpod-io/gitpod/common-go/log"
1112

@@ -15,28 +16,25 @@ import (
1516

1617
func NewLogInterceptor(entry *logrus.Entry) connect.UnaryInterceptorFunc {
1718
interceptor := func(next connect.UnaryFunc) connect.UnaryFunc {
18-
return connect.UnaryFunc(func(ctx context.Context, req connect.AnyRequest) (connect.AnyResponse, error) {
19+
return func(ctx context.Context, req connect.AnyRequest) (connect.AnyResponse, error) {
1920
ctx = log.ToContext(ctx, entry.WithContext(ctx))
2021

2122
log.AddFields(ctx, logrus.Fields{
2223
"requestProtocol": "connect",
2324
"requestProcedure": req.Spec().Procedure,
2425
"address": req.Peer().Addr,
2526
"requestStreamType": streamType(req.Spec().StreamType),
26-
"requestHeaders": req.Header(),
27+
"requestHeaders": filterHeaders(req.Header()),
2728
})
2829
log.Extract(ctx).Debugf("Handling request for %s", req.Spec().Procedure)
2930

3031
resp, err := next(ctx, req)
3132

32-
// Retrieve the logger from the context again, in case it's been updated.
3333
code := codeOf(err)
3434
log.AddFields(ctx, logrus.Fields{"responseCode": code})
3535

3636
if err != nil {
3737
log.AddFields(ctx, logrus.Fields{logrus.ErrorKey: err})
38-
} else {
39-
log.AddFields(ctx, logrus.Fields{"responseBody": resp.Any()})
4038
}
4139

4240
if req.Spec().IsClient {
@@ -45,14 +43,24 @@ func NewLogInterceptor(entry *logrus.Entry) connect.UnaryInterceptorFunc {
4543
} else {
4644
log.Extract(ctx).Infof("Received response for %s with code %s", req.Spec().Procedure, code)
4745
}
48-
log.Extract(ctx).Errorf("Received response for %s with code %s", req.Spec().Procedure, code)
4946
} else {
50-
log.Extract(ctx).Warnf("Completed handling of request for %s with code %s", req.Spec().Procedure, code)
47+
if err != nil {
48+
log.Extract(ctx).Warnf("Completed handling of request for %s with code %s", req.Spec().Procedure, code)
49+
} else {
50+
log.Extract(ctx).Debugf("Completed handling of request for %s with code %s", req.Spec().Procedure, code)
51+
}
5152
}
5253

5354
return resp, err
54-
})
55+
}
5556
}
5657

57-
return connect.UnaryInterceptorFunc(interceptor)
58+
return interceptor
59+
}
60+
61+
func filterHeaders(headers http.Header) http.Header {
62+
cloned := headers.Clone()
63+
cloned.Del("Authorization")
64+
cloned.Del("Cookie")
65+
return cloned
5866
}

0 commit comments

Comments
 (0)