Atatus.Serilog.Sinks
1.0.0
dotnet add package Atatus.Serilog.Sinks --version 1.0.0
NuGet\Install-Package Atatus.Serilog.Sinks -Version 1.0.0
<PackageReference Include="Atatus.Serilog.Sinks" Version="1.0.0" />
<PackageVersion Include="Atatus.Serilog.Sinks" Version="1.0.0" />
<PackageReference Include="Atatus.Serilog.Sinks" />
paket add Atatus.Serilog.Sinks --version 1.0.0
#r "nuget: Atatus.Serilog.Sinks, 1.0.0"
#:package Atatus.Serilog.Sinks@1.0.0
#addin nuget:?package=Atatus.Serilog.Sinks&version=1.0.0
#tool nuget:?package=Atatus.Serilog.Sinks&version=1.0.0
Atatus.Serilog.Sinks
A Serilog sink that ships logs directly to Atatus via the Atatus Logs Ingest API.
Example
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.Enrich.FromLogContext()
.WriteTo.Atatus(licenseKey: "<your-ingest-license-key>", appName: "my-service")
.CreateLogger();
NOTE: Don't forget we also publish an Atatus.SerilogEnricher for the Atatus APM Agent!
Trace correlation
Each log event is automatically tagged with trace correlation fields when available:
- If the Atatus APM agent is configured in this process,
txnId,traceId,spanId, andparentIdare taken from its current transaction/span. - Otherwise, if there's a current
System.Diagnostics.Activity(e.g. from OpenTelemetry instrumentation),traceId,spanId, andparentIdare taken from it.txnIdhas no equivalent outside the Atatus agent, so it's omitted. - If neither is present, none of these fields are sent.
Options
| Option | Description |
|---|---|
licenseKey |
Ingest API key. Falls back to the ATATUS_INGEST_LICENSE_KEY environment variable, then the co-located Atatus agent's license key, if configured. |
appName |
Application/service name reported alongside each log. Falls back to the ATATUS_APP_NAME environment variable, then the co-located Atatus agent's app name. |
endpoint |
Ingest API base URL. Falls back to the ATATUS_SERVER_URL environment variable, then the co-located Atatus agent's server URL, then the default ingest host. |
source |
Log source label sent to the ingest API. Default = dotnet. |
hostname |
Host label sent to the ingest API. Default = the machine name. |
flushInterval |
How often queued log lines are batched and posted to the ingest API. Default = 5 seconds. |
formatProvider |
Optional IFormatProvider used when rendering each log event to text. |
Application Settings Configuration
This sink can be configured through appsettings.json when used in combination with Serilog.Settings.Configuration.
{
"Serilog": {
"Using": [ "Atatus.Serilog.Sinks" ],
"MinimumLevel": { "Default": "Information" },
"WriteTo": [
{
"Name": "Atatus",
"Args": {
"licenseKey": "<your-ingest-license-key>",
"appName": "my-service"
}
}
]
}
}
Notice that export depends on an in-memory queue that is flushed every 5 seconds and is lost on
application-crash / -exit. If you need higher guarantees on log delivery, use
Serilog.Sinks.File with our
ECS log formatter and ship the file
with your log shipper of choice.
If you miss a particular feature please open a feature request!
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. 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 was computed. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
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.0 | 99 | 7/10/2026 |