You can now read the logs your .NET application writes next to the request that wrote them, without adding a sink, enricher or extra NuGet package. The Atatus .NET APM agent captures your ILogger logs and sends them to Atatus with the trace, transaction and span IDs attached.
Log capture is off by default, and you turn it on with the CaptureLogs setting. Use .NET agent 3.2.2 or later, which also captures logs in profiler (zero-code) mode, including .NET Framework applications on IIS. The .NET log correlation docs show the setup.
What you can do
- One setting: Set
"CaptureLogs": truein theAtatussection of appsettings.json, or setATATUS_CAPTURE_LOGS=true. Logs are sent only when it is on. - Logs linked to traces: Each log event carries the active trace, transaction and span IDs, so you can jump from a log line to its request and back.
- Errors from logs: Logs of every level appear in the Logs dashboard of Atatus Log Management, and
ErrororCriticalevents are also captured as APM errors. - Zero-code mode: Log capture works in profiler mode and with
app.UseAllAtatus, now including .NET Framework (net462) applications on IIS. - Every logging version: The agent hooks
Logger.Logdirectly, so capture works across all Microsoft.Extensions.Logging versions, without duplicate logs when the NuGet log provider and profiler mode are both active.