# LogConsistencyProvider

Package: [Microsoft.Orleans.EventSourcing](/orleans/docs/api/csharp/microsoft.orleans.eventsourcing/) 10.0.0

[NuGet package](https://www.nuget.org/packages/Microsoft.Orleans.EventSourcing) | [Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.EventSourcing/CustomStorage/LogConsistencyProvider.cs#L17)

```csharp
public class LogConsistencyProvider : ILogViewAdaptorFactory
```

A log-consistency provider that relies on grain-specific custom code for reading states from storage, and appending deltas to storage. Grains that wish to use this provider must implement the `Orleans.EventSourcing.CustomStorage.ICustomStorageInterface-2` interface, to define how state is read and how deltas are written. If the provider attribute "PrimaryCluster" is supplied in the provider configuration, then only the specified cluster accesses storage, and other clusters may not issue updates.

## Constructors

- [LogConsistencyProvider(CustomStorageLogConsistencyOptions)](/orleans/docs/api/csharp/microsoft.orleans.eventsourcing/orleans.eventsourcing.customstorage.logconsistencyprovider/constructors/constructor-orleans-configuration-customstoragelogconsistencyoptions-9428f725/)

## Properties

- [PrimaryCluster](/orleans/docs/api/csharp/microsoft.orleans.eventsourcing/orleans.eventsourcing.customstorage.logconsistencyprovider/properties/primarycluster-3f920d3a/)
- [UsesStorageProvider](/orleans/docs/api/csharp/microsoft.orleans.eventsourcing/orleans.eventsourcing.customstorage.logconsistencyprovider/properties/usesstorageprovider-f00d4ec1/)

## Methods

- [MakeLogViewAdaptor(ILogViewAdaptorHost&lt;TView, TEntry&gt;, TView, string, IGrainStorage, ILogConsistencyProtocolServices)](/orleans/docs/api/csharp/microsoft.orleans.eventsourcing/orleans.eventsourcing.customstorage.logconsistencyprovider/methods/makelogviewadaptor-2-orleans-eventsourcing-ilogviewadaptorhost-tview-tentry-tvie-a262048b/)
