| .. | ||
| Contracts | ||
| Extensions | ||
| Features | ||
| Migrations | ||
| Models | ||
| Options | ||
| Services | ||
| ShellFeatures | ||
| Stores | ||
| Elsa.Diagnostics.StructuredLogs.Persistence.Relational.csproj | ||
| FodyWeavers.xml | ||
| README.md | ||
Elsa Diagnostics Structured Logs Relational Persistence
This package contains the reusable relational storage layer for diagnostics structured logs. It is provider-neutral: concrete packages supply the connection factory, SQL dialect, and FluentMigrator runner wiring.
To add a new relational provider such as SQL Server or PostgreSQL:
- Reference this package from the provider package.
- Implement
IRelationalStructuredLogConnectionFactory. - Implement
IRelationalStructuredLogDialectfor identifier quoting, parameter prefixing, and result limiting. - Implement
IStructuredLogSchemaMigratorusing FluentMigrator with the provider-specific runner. - Register those services and call
AddRelationalStructuredLogPersistence.
The core Elsa.Diagnostics.StructuredLogs package must remain unaware of provider packages. Provider-specific SQL and migration runner dependencies belong in provider packages.
StructuredLogWriteBuffer reports dropped durable writes through the core IStructuredLogStorageDiagnostics contract. The core endpoint GET /diagnostics/structured-logs/storage returns that provider-neutral count for Studio and other diagnostics clients.