code: func Extract(ctx context.Context) *zap.Logger {
  	l, ok := ctx.Value(ctxMarkerKey).(*ctxLogger)
  	if !ok || l == nil {
  		return nullLogger
  	}
  	// Add grpc_ctxtags tags metadata until now.
  	fields := TagsToFields(ctx)
  	// Add zap fields added until now.
  	fields = append(fields, l.fields...)
  	return l.logger.With(fields...)
  }
docs: // Extract takes the call-scoped Logger from grpc_zap middleware.
  //
  // It always returns a Logger that has all the grpc_ctxtags updated.