Serilog.Enrichers.AzureClaims
1.1.0
dotnet add package Serilog.Enrichers.AzureClaims --version 1.1.0
NuGet\Install-Package Serilog.Enrichers.AzureClaims -Version 1.1.0
<PackageReference Include="Serilog.Enrichers.AzureClaims" Version="1.1.0" />
paket add Serilog.Enrichers.AzureClaims --version 1.1.0
#r "nuget: Serilog.Enrichers.AzureClaims, 1.1.0"
// Install Serilog.Enrichers.AzureClaims as a Cake Addin #addin nuget:?package=Serilog.Enrichers.AzureClaims&version=1.1.0 // Install Serilog.Enrichers.AzureClaims as a Cake Tool #tool nuget:?package=Serilog.Enrichers.AzureClaims&version=1.1.0
Serilog.Enrichers.AzureClaims
Enriches Serilog events with information from the ClaimsPrincipal.
Install the Serilog.Enrichers.AzureClaims NuGet package
Install-Package Serilog.Enrichers.AzureClaims
Then, apply the enricher to your LoggerConfiguration
:
Log.Logger = new LoggerConfiguration()
.Enrich.WithUpn()
.Enrich.WithDisplayName()
.Enrich.WithTenantId()
.Enrich.WithObjectId()
.Enrich.WithAppId()
// ...other configuration...
.CreateLogger();
Included enrichers
The package includes:
WithUpn()
- addsUserPrincipalName
based on the ClaimTypehttp://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn
WithDisplayName()
- addsDisplayName
based on the ClaimTypehttp://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
orname
orpreferred_username
WithTenantId()
- addsTenantId
based on the ClaimTypehttp://schemas.microsoft.com/identity/claims/tenantid
ortid
WithObjectId()
- addsObjectId
based on the ClaimTypehttp://schemas.microsoft.com/identity/claims/objectidentifier
oroid
WithAppId
- addsAppId
based on the CLaimTypeappid
orazp
Installing into an ASP.NET Core Web Application
You need to register the IHttpContextAccessor
singleton so the enrichers have access to the requests HttpContext
to extract the data.
This is what your Program
class should contain in order for this enricher to work as expected:
// ...
using Serilog;
var builder = WebApplication.CreateBuilder(args);
builder.Logging.AddSerilog(new LoggerConfiguration()
.Enrich.WithUpn()
.Enrich.WithDisplayName()
.Enrich.WithTenantId()
.Enrich.WithObjectId()
.Enrich.WithAppId()
.CreateLogger());
// ...
builder.Services.AddHttpContextAccessor();
// ...
var app = builder.Build();
app.UseSerilogRequestLogging();
// ...
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. 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 is compatible. 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 is compatible. |
-
net6.0
- Microsoft.Identity.Web (>= 3.4.0)
- Serilog (>= 4.1.0)
-
net7.0
- Microsoft.Identity.Web (>= 3.4.0)
- Serilog (>= 4.1.0)
-
net8.0
- Microsoft.Identity.Web (>= 3.4.0)
- Serilog (>= 4.1.0)
-
net9.0
- Microsoft.Identity.Web (>= 3.4.0)
- Serilog (>= 4.1.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Serilog.Enrichers.AzureClaims:
Package | Downloads |
---|---|
Intility.Logging.AspNetCore
This package enables common logging infrastructure to any aspnet or dotnet project using generic host mechanism. Additional logging capabilities are available through the extension packages Intility.Extensions.Logging.* |
GitHub repositories
This package is not used by any popular GitHub repositories.