Eniflare.Serilog 1.0.2

dotnet add package Eniflare.Serilog --version 1.0.2
                    
NuGet\Install-Package Eniflare.Serilog -Version 1.0.2
                    
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="Eniflare.Serilog" Version="1.0.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Eniflare.Serilog" Version="1.0.2" />
                    
Directory.Packages.props
<PackageReference Include="Eniflare.Serilog" />
                    
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 Eniflare.Serilog --version 1.0.2
                    
#r "nuget: Eniflare.Serilog, 1.0.2"
                    
#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 Eniflare.Serilog@1.0.2
                    
#: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=Eniflare.Serilog&version=1.0.2
                    
Install as a Cake Addin
#tool nuget:?package=Eniflare.Serilog&version=1.0.2
                    
Install as a Cake Tool

Eniflare.Serilog

A Serilog sink that ships your application's log events to Eniflare in the background.

  • Posts batches to POST {baseUrl}/ingest using the CLEF format (RenderedCompactJsonFormatter, so events carry the rendered @m message).
  • Authenticates with your API key via the X-Api-Key request header.
  • Batching, buffering and retries are handled by Serilog.Sinks.Http — logging never blocks your app.
  • Targets net8.0, net9.0 and net10.0.

This package contains only the sink. Your application provides Serilog.AspNetCore (or plain Serilog) for the rest of the logging pipeline.

Installation

dotnet add package Eniflare.Serilog

The package is published to NuGet.org, so no authentication is required to install it.

📖 See the full step-by-step guide in docs/USAGE.md.

Usage

Configure in code

using Serilog;

Log.Logger = new LoggerConfiguration()
    .Enrich.FromLogContext()
    .WriteTo.Console()
    .WriteTo.Eniflare("https://eniflare.example.com", "enf_your_api_key")
    .CreateLogger();

Configure via appsettings.json

Requires the Serilog.Settings.Configuration package in your application. The Args keys map directly to the extension's parameter names.

{
  "Serilog": {
    "Using": [ "Eniflare.Serilog" ],
    "WriteTo": [
      { "Name": "Console" },
      {
        "Name": "Eniflare",
        "Args": {
          "baseUrl": "https://eniflare.example.com",
          "apiKey": "enf_your_api_key"
        }
      }
    ]
  }
}

You can omit apiKey from Args and instead provide it as Eniflare:ApiKey in configuration (for example via an environment variable or user secret) — the sink resolves it at runtime.

Options

Parameter Default Description
baseUrl (required) Eniflare root URL; /ingest is appended automatically.
apiKey "" API key; falls back to Eniflare:ApiKey configuration.
queueLimitBytes null (unlimited) Max bytes buffered in memory before shipping.
logEventLimitBytes null (unlimited) Max size of a single event; larger events are dropped.
batchSizeLimit 1000 Max number of events per batch.
period null (default) Interval between batch shipments.
restrictedToMinimumLevel Verbose Minimum level passed to the sink.

Creating a release

Versioning is driven by git tags via MinVer. Tag the commit you want to publish and push the tag:

git tag v1.2.3
git push origin v1.2.3

The release.yml workflow builds, tests, packs and pushes the .nupkg and .snupkg to GitHub Packages for the Enekoiza organization.

License

MIT

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  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

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.2 365 7/10/2026
1.0.1 147 6/16/2026