WalFlow.Sinks.File 0.1.0-alpha.alpha.20260708090623

This is a prerelease version of WalFlow.Sinks.File.
dotnet add package WalFlow.Sinks.File --version 0.1.0-alpha.alpha.20260708090623
                    
NuGet\Install-Package WalFlow.Sinks.File -Version 0.1.0-alpha.alpha.20260708090623
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="WalFlow.Sinks.File" Version="0.1.0-alpha.alpha.20260708090623" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="WalFlow.Sinks.File" Version="0.1.0-alpha.alpha.20260708090623" />
                    
Directory.Packages.props
<PackageReference Include="WalFlow.Sinks.File" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add WalFlow.Sinks.File --version 0.1.0-alpha.alpha.20260708090623
                    
#r "nuget: WalFlow.Sinks.File, 0.1.0-alpha.alpha.20260708090623"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package WalFlow.Sinks.File@0.1.0-alpha.alpha.20260708090623
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=WalFlow.Sinks.File&version=0.1.0-alpha.alpha.20260708090623&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=WalFlow.Sinks.File&version=0.1.0-alpha.alpha.20260708090623&prerelease
                    
Install as a Cake Tool

WalFlow.Sinks.File

File output sink for WalFlow CDC events.

Overview

Writes Debezium-compatible JSON events to a newline-delimited JSON file (NDJSON/JSONL format). Thread-safe with concurrent write protection.

Installation

dotnet add package WalFlow.Sinks.File

Usage

services.AddSingleton<ISink, FileSink>(sp =>
{
    var logger = sp.GetRequiredService<ILogger<FileSink>>();
    return new FileSink("./cdc-output.jsonl", logger);
});

Features

  • NDJSON Format - One JSON event per line
  • Thread-Safe - Semaphore-protected concurrent writes
  • Auto-Create Directory - Creates parent directories if needed
  • Debezium-Compatible - Standard CDC event format

Output Format

Each line contains a complete Debezium payload:

{"before":null,"after":{"id":1,"name":"Alice"},"source":{...},"op":"c","ts_ms":1699123456789}
{"before":{"id":1,"name":"Alice"},"after":{"id":1,"name":"Alice Updated"},"source":{...},"op":"u","ts_ms":1699123457890}

License

MIT

Inline DI Registration

services.AddSingleton<ISink>(sp =>
    new FileSink(
        "./cdc-output.jsonl",
        sp.GetRequiredService<ILogger<FileSink>>(),
        maxFileSizeBytes: 50 * 1024 * 1024,
        maxFileCount: 5));
Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on WalFlow.Sinks.File:

Package Downloads
WalFlow

Meta-package that pulls in the full WalFlow CDC stack for consumers who want the default everything-included setup.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0-alpha.alpha... 88 7/8/2026
0.1.0-alpha.alpha... 87 3/30/2026