* Add activity execution log sink Introduced an interface `IActivityExecutionLogSink` for storing workflow execution log records and implemented it as `StoreActivityExecutionLogSink`. This centralizes and streamlines the handling of persisting execution logs into the workflow's runtime, thus making the process more modular and maintainable. The `PersistActivityExecutionLogMiddleware` has also been refactored to use this sink, replacing the direct usage of the workflow execution log store. * Refactor logging interfaces and implementations Replaced specific logging interfaces and implementations with generic ones. The individual interfaces for workflow and activity execution logging have been replaced with a single ILogRecordExtractor and ILogRecordSink interface. Specific implementations have been adjusted to use these new interfaces. This allows for greater flexibility and reuse of logging code. * Introduce ILogRecordStore interface The `ILogRecordStore` interface has been introduced to provide a centralized place for handling log records. Both `IActivityExecutionStore` and `IWorkflowExecutionLogStore` have been updated to inherit from this new interface. As a result of this change, the `SaveManyAsync` methods in these two interfaces have been removed to avoid redundancy. |
||
|---|---|---|
| .. | ||
| Contracts | ||
| Converters | ||
| DistributedLocks/Noop | ||
| Entities | ||
| Exceptions | ||
| Extensions | ||
| Features | ||
| Models | ||
| Serialization | ||
| Services | ||
| Elsa.Common.csproj | ||
| FodyWeavers.xml | ||