...

Source file src/github.com/grpc-ecosystem/go-grpc-middleware/logging/zap/ctxzap/examples_test.go

Documentation: github.com/grpc-ecosystem/go-grpc-middleware/logging/zap/ctxzap

     1  package ctxzap_test
     2  
     3  import (
     4  	"context"
     5  
     6  	"github.com/grpc-ecosystem/go-grpc-middleware/logging/zap/ctxzap"
     7  	"github.com/grpc-ecosystem/go-grpc-middleware/tags"
     8  	pb_testproto "github.com/grpc-ecosystem/go-grpc-middleware/testing/testproto"
     9  	"go.uber.org/zap"
    10  )
    11  
    12  var zapLogger *zap.Logger
    13  
    14  // Simple unary handler that adds custom fields to the requests's context. These will be used for all log statements.
    15  func ExampleExtract_unary() {
    16  	_ = func(ctx context.Context, ping *pb_testproto.PingRequest) (*pb_testproto.PingResponse, error) {
    17  		// Add fields the ctxtags of the request which will be added to all extracted loggers.
    18  		grpc_ctxtags.Extract(ctx).Set("custom_tags.string", "something").Set("custom_tags.int", 1337)
    19  
    20  		// Extract a single request-scoped zap.Logger and log messages.
    21  		l := ctxzap.Extract(ctx)
    22  		l.Info("some ping")
    23  		l.Info("another ping")
    24  		return &pb_testproto.PingResponse{Value: ping.Value}, nil
    25  	}
    26  }
    27  

View as plain text