Skip to main content
Version: v1.2.7 (latest)

Delivery Log Installation

Prerequisites

  • .NET 8 or later
  • Microsoft.Extensions.Logging.Abstractions (for logging integration)

Package Installation

Core Package

The core package provides the middleware and error handler:

dotnet add package Hermodr.Publisher.DeliveryLog

Storage Backend Packages

Choose one or more storage backends based on your needs:

In-Memory (Development/Testing)

dotnet add package Hermodr.Publisher.DeliveryLog.InMemory

NDJSON Rolling Files (Production, File-Based)

dotnet add package Hermodr.Publisher.DeliveryLog.NDJson

Entity Framework Core (Production, Database)

dotnet add package Hermodr.Publisher.DeliveryLog.EntityFramework
dotnet add package Microsoft.EntityFrameworkCore.Sqlite

Replace Sqlite with your actual provider (SqlServer, Npgsql, etc.).

Package Overview

PackagePurposeRequired
Hermodr.Publisher.DeliveryLogCore middleware and error handler✅ Yes
Hermodr.Publisher.DeliveryLog.InMemoryIn-memory storage backendFor testing
Hermodr.Publisher.DeliveryLog.NDJsonNDJSON file-based backendFor file storage
Hermodr.Publisher.DeliveryLog.EntityFrameworkEF Core backendFor database storage
Microsoft.EntityFrameworkCore.*Database providerFor EF Core backend

What's Included

Core Package

  • DeliveryLogMiddleware — Middleware that records every publish attempt
  • DeliveryLogPublishErrorHandler — Error handler for the failure path
  • EventDeliveryRecord — Data contract for delivery telemetry
  • EventDeliveryOutcome — Three-state outcome enum
  • IEventPublishDeliveryLog — Storage abstraction

Storage Packages

Each storage package provides:

  • Implementation of IEventPublishDeliveryLog
  • Storage-specific configuration options
  • Query APIs for reading delivery records (where applicable)

Next Steps

After installation, proceed to:

  1. Middleware — Understand how the middleware works
  2. Error Handler — Learn about the error path capture
  3. Registration — Wire everything up
  4. Storage Backends — Choose and configure your backend