Serilog.Enrichers.AspNetCore.HttpContext
1.0.0
See the version list below for details.
dotnet add package Serilog.Enrichers.AspNetCore.HttpContext --version 1.0.0
NuGet\Install-Package Serilog.Enrichers.AspNetCore.HttpContext -Version 1.0.0
<PackageReference Include="Serilog.Enrichers.AspNetCore.HttpContext" Version="1.0.0" />
paket add Serilog.Enrichers.AspNetCore.HttpContext --version 1.0.0
#r "nuget: Serilog.Enrichers.AspNetCore.HttpContext, 1.0.0"
// Install Serilog.Enrichers.AspNetCore.HttpContext as a Cake Addin #addin nuget:?package=Serilog.Enrichers.AspNetCore.HttpContext&version=1.0.0 // Install Serilog.Enrichers.AspNetCore.HttpContext as a Cake Tool #tool nuget:?package=Serilog.Enrichers.AspNetCore.HttpContext&version=1.0.0
Serilog Enrichers AspNetCore HttpContext
AspNetCore middleware to add to Serilog LogContext properties from HttpContext
Usage
Register this middleware as early as possible to use HttpContext properties in chained middlewares.
Code Sample
public void ConfigureServices(IServiceCollection services)
{
LoggerConfiguration loggerConfiguration = new LoggerConfiguration();
loggerConfiguration.Enrich.FromLogContext(); // mandatory
loggerConfiguration.WriteTo.Console(
outputTemplate:
"[{Timestamp:HH:mm:ss} {Level:u3}] {EventId} {Message:lj} {Properties}{NewLine}{Exception}{NewLine}");
Log.Logger = loggerConfiguration.CreateLogger();
services.AddLogging(builder => builder.ClearProviders().AddSerilog(dispose: true));
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseSerilogLogContext(options =>
{
options.EnrichersForContextFactory = context => new[]
{
// TraceIdentifier property will be available in all chained middlewares. And yes - it is HttpContext specific
new PropertyEnricher("TraceIdentifier", context.TraceIdentifier)
};
});
app.Run(async (context) =>
{
// No need to add TraceIdentifier as a parameter to "LogInformation" method
context.RequestServices.GetRequiredService<ILoggerFactory>().CreateLogger("Demo").LogInformation("Hellow World Log. TraceId: {TraceIdentifier}");
await context.Response.WriteAsync("Hello World!");
});
}
Console Optput
[17:26:46 INF] Hellow World Log. TraceId: 0HLFDGEJTQ5RQ:00000001 {SourceContext="Demo", RequestId="0HLFDGEJTQ5RQ:00000001", RequestPath="/", CorrelationId=null, ConnectionId="0HLFDGEJTQ5RQ"}
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 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 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. |
-
.NETStandard 2.0
- Microsoft.AspNetCore.Http.Abstractions (>= 2.0.0)
- Microsoft.Extensions.Options (>= 2.0.0)
- Serilog (>= 2.5.0)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on Serilog.Enrichers.AspNetCore.HttpContext:
Package | Downloads |
---|---|
Cloudburst.Logging
Cloudburst Microservice Toolkit: Logging for microservices using Serilog and Cloudburst.Configuration |
|
My.CorrelationId.AspNetCore.Serilog
Enrich Correlation Id as well get correlation id where needed. |
|
TraceIdentifiers.AspNetCore.Serilog
AspNetCore middleware to push TraceIdentifiers to Serilog LogContext |
GitHub repositories
This package is not used by any popular GitHub repositories.