Skip to content

Commit d33854d

Browse files
authored
unify the mw example (#460)
Signed-off-by: Wei Liu <liuweixa@redhat.com>
1 parent 2ce5f70 commit d33854d

File tree

22 files changed

+757
-921
lines changed

22 files changed

+757
-921
lines changed

cmd/maestro/main.go

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,6 @@ import (
1616
// nolint
1717
//
1818
//go:generate go-bindata -o ../../data/generated/openapi/openapi.go -pkg openapi -prefix ../../openapi/ ../../openapi
19-
const (
20-
logConfigFile = "/configs/logging/config.yaml"
21-
varLogLevel = "log_level"
22-
)
2319

2420
func main() {
2521
// check if the glog flag is already registered to avoid duplicate flag define error

cmd/maestro/server/grpc_broker.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ func (s *GRPCBrokerService) Get(ctx context.Context, resourceID string) (*ce.Eve
6060

6161
// List the cloudEvent from the service
6262
func (s *GRPCBrokerService) List(listOpts types.ListOptions) ([]*ce.Event, error) {
63-
resources, err := s.resourceService.List(listOpts)
63+
resources, err := s.resourceService.List(context.Background(), listOpts)
6464
if err != nil {
6565
return nil, err
6666
}

cmd/maestro/server/logging/request_logging_middleware.go

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,6 @@ import (
88

99
"github.com/gorilla/mux"
1010
"k8s.io/klog/v2"
11-
sdkgologging "open-cluster-management.io/sdk-go/pkg/logging"
12-
13-
maestrologger "github.com/openshift-online/maestro/pkg/logger"
1411
)
1512

1613
func RegisterLoggerMiddleware(ctx context.Context, router *mux.Router) {
@@ -19,32 +16,34 @@ func RegisterLoggerMiddleware(ctx context.Context, router *mux.Router) {
1916
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
2017
path := strings.TrimSuffix(r.URL.Path, "/")
2118
doLog := true
19+
logLevel := 2
2220

2321
// these contribute greatly to log spam but are not useful or meaningful.
2422
// consider a list/map of URLs should this grow in the future.
2523
if path == "/api/maestro" {
2624
doLog = false
2725
}
2826

29-
// TODO set opid of logger from req
30-
// Get operation ID from request header if existed
31-
opID := r.Header.Get(string(maestrologger.OpIDHeader))
32-
logger := klog.FromContext(ctx).WithValues(sdkgologging.ContextTracingOPIDKey, opID)
33-
loggingWriter := NewLoggingWriter(logger, w, r, NewJSONLogFormatter())
27+
if path == "/healthcheck" {
28+
logLevel = 4
29+
}
3430

3531
reqCtx := r.Context()
36-
newReqCtx := klog.NewContext(reqCtx, logger)
32+
logger := klog.FromContext(reqCtx)
33+
loggingWriter := NewLoggingWriter(logger, w, r, NewJSONLogFormatter())
3734

3835
if doLog {
39-
loggingWriter.log(loggingWriter.prepareRequestLog())
36+
msg, err := loggingWriter.prepareRequestLog()
37+
loggingWriter.log(logLevel, msg, err)
4038
}
4139

4240
before := time.Now()
43-
next.ServeHTTP(loggingWriter, r.WithContext(newReqCtx))
41+
next.ServeHTTP(loggingWriter, r)
4442
elapsed := time.Since(before).String()
4543

4644
if doLog {
47-
loggingWriter.log(loggingWriter.prepareResponseLog(elapsed))
45+
msg, err := loggingWriter.prepareResponseLog(elapsed)
46+
loggingWriter.log(logLevel, msg, err)
4847
}
4948
})
5049
})

cmd/maestro/server/logging/writer.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,10 @@ func (writer *loggingWriter) WriteHeader(status int) {
2929
writer.ResponseWriter.WriteHeader(status)
3030
}
3131

32-
func (writer *loggingWriter) log(logMsg string, err error) {
32+
func (writer *loggingWriter) log(logLevel int, logMsg string, err error) {
3333
switch err {
3434
case nil:
35-
writer.logger.V(4).Info(logMsg)
35+
writer.logger.V(logLevel).Info(logMsg)
3636
default:
3737
writer.logger.Error(err, "Unable to format request/response log")
3838
}

data/generated/openapi/openapi.go

Lines changed: 7 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

examples/cloudevents/grpcclient.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@ var (
2727
grpcServerAddr = flag.String("grpc-server", "127.0.0.1:8090", "The grpc server address")
2828
grpcServerTLS = flag.Bool("grpc-server-tls", false, "Connect grpc server with TLS if true")
2929
grpcServerCAFile = flag.String("grpc-server-ca-file", "", "The CA for grpc server")
30-
grpcClientCertFile = flag.String("grpc-client-cert-file", "", "The client certificate to access grpc server")
31-
grpcClientKeyFile = flag.String("grpc-client-key-file", "", "The client key to access grpc server")
3230
grpcClientTokenFile = flag.String("grpc-client-token-file", "", "The client token to access grpc server")
3331
consumerName = flag.String("consumer-name", "", "The Consumer Name")
3432
cloudEventFile = flag.String("cloudevent-file", "", "The absolute file path containing the CloudEvent resource")

0 commit comments

Comments
 (0)