Elastic.Apm.SerilogEnricher 8.12.2

Prefix Reserved
dotnet add package Elastic.Apm.SerilogEnricher --version 8.12.2                
NuGet\Install-Package Elastic.Apm.SerilogEnricher -Version 8.12.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="Elastic.Apm.SerilogEnricher" Version="8.12.2" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Elastic.Apm.SerilogEnricher --version 8.12.2                
#r "nuget: Elastic.Apm.SerilogEnricher, 8.12.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.
// Install Elastic.Apm.SerilogEnricher as a Cake Addin
#addin nuget:?package=Elastic.Apm.SerilogEnricher&version=8.12.2

// Install Elastic.Apm.SerilogEnricher as a Cake Tool
#tool nuget:?package=Elastic.Apm.SerilogEnricher&version=8.12.2                

Elastic APM Serilog Enricher

This enricher adds the transaction id and trace id to every Serilog log message that is created during a transaction.

Packages

The .NET assemblies are published to NuGet under the package name Elastic.Apm.SerilogEnricher

How to Enable

var logger = new LoggerConfiguration()
   .Enrich.WithElasticApmCorrelationInfo()
   .WriteTo.Console(outputTemplate: "[{ElasticApmTraceId} {ElasticApmTransactionId} {ElasticApmSpanId} {Message:lj} {NewLine}{Exception}")
   .CreateLogger();

In the code snippet above Enrich.WithElasticApmCorrelationInfo() enables the enricher from this project, which will set 3 properties for log lines that are created during a transaction:

  • ElasticApmTraceId
  • ElasticApmTransactionId
  • ElasticApmSpanId

These two properties are printed to the Console using the outputTemplate parameter, of course they can be used with any sink, you could consider using a filesystem sink and Elastic Filebeat for durable and reliable ingestion. This enricher is also compatible with the Elastic.CommonSchema.Serilog package.

Prerequisite

The prerequisite for this to work is a configured Elastic APM Agent. If the agent is not configured the enricher won't add anything to the logs.

This software is Copyright (c) 2014-2020 by Elasticsearch BV.

This is free software, licensed under: The Apache License Version 2.0.

Product 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 was computed.  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. 
.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 was computed. 
.NET Framework net461 was computed.  net462 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (13)

Showing the top 5 NuGet packages that depend on Elastic.Apm.SerilogEnricher:

Package Downloads
Sitko.Core.ElasticStack

Sitko.Core is a set of libraries to help build .NET Core applications fast

BioEngine.Extra.ElasticStack

Package Description

DDPlanet.Logging

Simple logging framework developed for ELK stack based on Serilog providing fully configured logging in just a couple lines of code

Nox.Core

Nox Core Library for all kinf of applications: WebApis, UI, etc..

Apprio.Enablement.Telemetry.Elasticsearch

Package Description

GitHub repositories (3)

Showing the top 3 popular GitHub repositories that depend on Elastic.Apm.SerilogEnricher:

Repository Stars
damikun/trouble-training
FullStack DDD/CQRS with GraphQL workshop including distributed tracing and monitoring. This shows the configuration from React frontend to .Net backend.
aspose-cells/Aspose.Cells-for-.NET
Aspose.Cells for .NET examples, plugins and showcases
sitkoru/Sitko.Core
Sitko.Core is a set of libraries to help build .NET Core applications fast
Version Downloads Last updated
8.12.2 7,548 10/22/2024
8.12.1 21,519 10/3/2024
8.12.0 8,831 9/26/2024
8.11.1 219,964 6/10/2024
8.11.0 218,982 4/10/2024
8.6.1 1,243,043 8/3/2023
8.6.0 533,075 5/9/2023
8.4.0-alpha4 1,329 3/28/2023
8.4.0-alpha3 762 3/15/2023
8.4.0-alpha2 2,863 3/1/2023
8.4.0-alpha1 369 2/20/2023
1.6.0-alpha1 108,163 6/2/2021
1.5.3 6,783,740 6/1/2021
1.5.1 2,064,168 6/3/2020
1.5.0 167,935 3/30/2020
1.4.4 1,634 3/25/2020
1.4.3 168,990 3/16/2020
1.4.2 27,585 3/6/2020
1.4.1 8,624 2/26/2020
1.4.0 13,854 1/29/2020
1.4.0-beta1 618 1/7/2020