gitee.com/ks-custle/core-gm@v0.0.0-20230922171213-b83bdd97b62c/go-grpc-middleware/logging/zap/ctxzap/examples_test.go (about)

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