Eniflare.Serilog
1.0.2
dotnet add package Eniflare.Serilog --version 1.0.2
NuGet\Install-Package Eniflare.Serilog -Version 1.0.2
<PackageReference Include="Eniflare.Serilog" Version="1.0.2" />
<PackageVersion Include="Eniflare.Serilog" Version="1.0.2" />
<PackageReference Include="Eniflare.Serilog" />
paket add Eniflare.Serilog --version 1.0.2
#r "nuget: Eniflare.Serilog, 1.0.2"
#:package Eniflare.Serilog@1.0.2
#addin nuget:?package=Eniflare.Serilog&version=1.0.2
#tool nuget:?package=Eniflare.Serilog&version=1.0.2
Eniflare.Serilog
A Serilog sink that ships your application's log events to Eniflare in the background.
- Posts batches to
POST {baseUrl}/ingestusing the CLEF format (RenderedCompactJsonFormatter, so events carry the rendered@mmessage). - Authenticates with your API key via the
X-Api-Keyrequest header. - Batching, buffering and retries are handled by
Serilog.Sinks.Http— logging never blocks your app. - Targets
net8.0,net9.0andnet10.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 | Versions 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. |
-
net10.0
- Serilog (>= 4.3.1)
- Serilog.Formatting.Compact (>= 3.0.0)
- Serilog.Sinks.Http (>= 9.2.1)
-
net8.0
- Serilog (>= 4.3.1)
- Serilog.Formatting.Compact (>= 3.0.0)
- Serilog.Sinks.Http (>= 9.2.1)
-
net9.0
- Serilog (>= 4.3.1)
- Serilog.Formatting.Compact (>= 3.0.0)
- Serilog.Sinks.Http (>= 9.2.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.