From 02e472c81ecf192e4cc51ea4fdc7dea0b27f0787 Mon Sep 17 00:00:00 2001 From: Mariam Aziz Date: Mon, 9 Mar 2026 12:50:20 +0100 Subject: [PATCH 01/11] Adding http log enricher doc and sample code --- .../http-logging/http-log-enricher.md | 88 +++++++++++++++++++ .../httplogenricher/CustomHttpLogEnricher.cs | 23 +++++ .../samples/httplogenricher/Program.cs | 24 +++++ .../samples/httplogenricher/appsettings.json | 10 +++ .../httplogenricher/httplogenricher.csproj | 16 ++++ aspnetcore/toc.yml | 2 + 6 files changed, 163 insertions(+) create mode 100644 aspnetcore/fundamentals/http-logging/http-log-enricher.md create mode 100644 aspnetcore/fundamentals/http-logging/samples/httplogenricher/CustomHttpLogEnricher.cs create mode 100644 aspnetcore/fundamentals/http-logging/samples/httplogenricher/Program.cs create mode 100644 aspnetcore/fundamentals/http-logging/samples/httplogenricher/appsettings.json create mode 100644 aspnetcore/fundamentals/http-logging/samples/httplogenricher/httplogenricher.csproj diff --git a/aspnetcore/fundamentals/http-logging/http-log-enricher.md b/aspnetcore/fundamentals/http-logging/http-log-enricher.md new file mode 100644 index 000000000000..de1dbb2838e3 --- /dev/null +++ b/aspnetcore/fundamentals/http-logging/http-log-enricher.md @@ -0,0 +1,88 @@ +--- +title: HTTP log enricher for incoming requests +description: Learn how to use the HTTP log enricher for incoming HTTP requests in ASP.NET Core. +ai-usage: ai-assisted +author: mariamaziz +monikerRange: '>= aspnetcore-6.0' +ms.author: mariamaziz +ms.custom: mvc +ms.date: 03/09/2026 +uid: fundamentals/http-logging/http-log-enricher +--- + +# HTTP log enricher + +[!INCLUDE[](~/includes/not-latest-version.md)] + +:::moniker range=">= aspnetcore-8.0" + +You can create a custom HTTP log enricher by creating a class that implements the interface. Unlike general-purpose log enrichers that enrich all logs in your application, HTTP log enrichers specifically target incoming HTTP request logs in ASP.NET Core, allowing you to add contextual information based on the `HttpContext` of each request. + +After the class is created, you register it with . Once registered, the logging infrastructure automatically calls the `Enrich()` method on every registered enricher for each incoming HTTP request processed by the ASP.NET Core pipeline. + +> [!IMPORTANT] +> The `IHttpLogEnricher` interface is experimental and requires the `EXTEXP0013` diagnostic ID suppression. For more information, see [Experimental features in .NET Extensions](https://aka.ms/dotnet-extensions-warnings/EXTEXP0013). + +## Install the package + +To get started, install the [📦 Microsoft.AspNetCore.Diagnostics.Middleware](https://www.nuget.org/packages/Microsoft.AspNetCore.Diagnostics.Middleware) NuGet package: + +### [.NET CLI](#tab/dotnet-cli) + +```dotnetcli +dotnet add package Microsoft.AspNetCore.Diagnostics.Middleware +``` + +Or, if you're using .NET 10+ SDK: + +```dotnetcli +dotnet package add Microsoft.AspNetCore.Diagnostics.Middleware +``` + +### [PackageReference](#tab/package-reference) + +```xml + +``` + +--- + +## IHttpLogEnricher implementation + +Your custom HTTP log enricher needs to implement a single method. During enrichment, this method is called and given an instance along with the for the incoming request. The enricher then calls one of the overloads of the method to record any properties it wants. + +> [!NOTE] +> If your custom HTTP log enricher calls , +> it's acceptable to send any type of argument to the `value` parameter as-is, because it's parsed into the actual type and serialized internally +> to be sent further down the logging pipeline. + +:::code language="csharp" source="snippets/httplogenricher/CustomHttpLogEnricher.cs" ::: + +And you register it as shown in the following code using : + +:::code language="csharp" source="snippets/httplogenricher/Program.cs" ::: + +## Key differences from general log enrichers + +HTTP log enrichers differ from general-purpose log enrichers () in several important ways: + +- **Scope**: HTTP log enrichers only enrich logs produced by incoming ASP.NET Core HTTP requests, while general log enrichers enrich all logs in the application. +- **Context**: HTTP log enrichers have access to the full `HttpContext`, including the request, response, user, connection, and any other context data associated with the incoming request. +- **Package**: HTTP log enrichers require the `Microsoft.AspNetCore.Diagnostics.Middleware` package, while general log enrichers use the `Microsoft.Extensions.Telemetry.Abstractions` package. +- **Direction**: HTTP log enrichers target **incoming** server-side requests, while targets **outgoing** client-side HTTP requests. + +## Remarks + +- The `Enrich` method is called during the HTTP response phase of the request/response lifecycle, after the response has been processed. +- The `httpContext` parameter is always provided and will never be `null`. +- Multiple enrichers can be registered and will be executed in the order they were registered. +- If an enricher throws an exception, it's logged and execution continues with the remaining enrichers. +- The `IHttpLogEnricher` interface is marked as experimental with diagnostic ID `EXTEXP0013` and requires .NET 8 or later. +- Calling `AddHttpLogEnricher()` automatically sets up the required HTTP logging redaction infrastructure by internally calling `AddHttpLoggingRedaction()`. +- You must still add the `UseHttpLogging()` middleware in the application pipeline for HTTP logs to be emitted. + +## See also + +- [HTTP logging in ASP.NET Core](/aspnet/core/fundamentals/http-logging/) +- [HTTP client log enricher in .NET](http-client-log-enricher.md) diff --git a/aspnetcore/fundamentals/http-logging/samples/httplogenricher/CustomHttpLogEnricher.cs b/aspnetcore/fundamentals/http-logging/samples/httplogenricher/CustomHttpLogEnricher.cs new file mode 100644 index 000000000000..fcaa5e8de262 --- /dev/null +++ b/aspnetcore/fundamentals/http-logging/samples/httplogenricher/CustomHttpLogEnricher.cs @@ -0,0 +1,23 @@ +#pragma warning disable EXTEXP0013 + +using Microsoft.AspNetCore.Diagnostics.Logging; +using Microsoft.Extensions.Diagnostics.Enrichment; + +public class CustomHttpLogEnricher : IHttpLogEnricher +{ + public void Enrich(IEnrichmentTagCollector collector, HttpContext httpContext) + { + // Add custom tags based on the incoming HTTP request + collector.Add("request_method", httpContext.Request.Method); + collector.Add("request_scheme", httpContext.Request.Scheme); + + // Add tags based on the response status code (available during the response phase) + collector.Add("response_status_code", httpContext.Response.StatusCode); + + // Add tags based on user authentication status + if (httpContext.User?.Identity?.IsAuthenticated is true) + { + collector.Add("user_authenticated", true); + } + } +} diff --git a/aspnetcore/fundamentals/http-logging/samples/httplogenricher/Program.cs b/aspnetcore/fundamentals/http-logging/samples/httplogenricher/Program.cs new file mode 100644 index 000000000000..95b7f4ca2cce --- /dev/null +++ b/aspnetcore/fundamentals/http-logging/samples/httplogenricher/Program.cs @@ -0,0 +1,24 @@ +#pragma warning disable EXTEXP0013 + +using System.Text.Json; + +WebApplicationBuilder builder = WebApplication.CreateBuilder(args); + +builder.Services.AddHttpLogEnricher(); +builder.Services.AddRedaction(); + +builder.Logging.AddJsonConsole(op => +{ + op.JsonWriterOptions = new JsonWriterOptions + { + Indented = true + }; +}); + +WebApplication app = builder.Build(); + +app.UseHttpLogging(); + +app.MapGet("/", () => "Hello, World!"); + +await app.RunAsync(); diff --git a/aspnetcore/fundamentals/http-logging/samples/httplogenricher/appsettings.json b/aspnetcore/fundamentals/http-logging/samples/httplogenricher/appsettings.json new file mode 100644 index 000000000000..e2c6519accd1 --- /dev/null +++ b/aspnetcore/fundamentals/http-logging/samples/httplogenricher/appsettings.json @@ -0,0 +1,10 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Warning", + "Microsoft.Hosting.Lifetime": "Warning", + "Microsoft.AspNetCore.Watch.BrowserRefresh": "Warning", + "Microsoft.AspNetCore.HttpLogging.HttpLoggingMiddleware": "Information" + } + } +} diff --git a/aspnetcore/fundamentals/http-logging/samples/httplogenricher/httplogenricher.csproj b/aspnetcore/fundamentals/http-logging/samples/httplogenricher/httplogenricher.csproj new file mode 100644 index 000000000000..df65e288929d --- /dev/null +++ b/aspnetcore/fundamentals/http-logging/samples/httplogenricher/httplogenricher.csproj @@ -0,0 +1,16 @@ + + + + Exe + net10.0 + enable + true + httplogenricher + + + + + + + + diff --git a/aspnetcore/toc.yml b/aspnetcore/toc.yml index ca6bef17e1a1..cb60cd8660e5 100644 --- a/aspnetcore/toc.yml +++ b/aspnetcore/toc.yml @@ -508,6 +508,8 @@ items: uid: fundamentals/logging/index - name: HTTP logging uid: fundamentals/http-logging/index + - name: HTTP log enricher + uid: fundamentals/http-logging/http-log-enricher - name: W3C logger uid: fundamentals/w3c-logger/index - name: Health checks From 5f4a0877de2f2ad51ec126797ccab0528aa8ac0c Mon Sep 17 00:00:00 2001 From: Mariam Aziz Date: Mon, 9 Mar 2026 13:01:37 +0100 Subject: [PATCH 02/11] warnings --- .../fundamentals/http-logging/http-log-enricher.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/aspnetcore/fundamentals/http-logging/http-log-enricher.md b/aspnetcore/fundamentals/http-logging/http-log-enricher.md index de1dbb2838e3..ab375f0dc515 100644 --- a/aspnetcore/fundamentals/http-logging/http-log-enricher.md +++ b/aspnetcore/fundamentals/http-logging/http-log-enricher.md @@ -3,7 +3,7 @@ title: HTTP log enricher for incoming requests description: Learn how to use the HTTP log enricher for incoming HTTP requests in ASP.NET Core. ai-usage: ai-assisted author: mariamaziz -monikerRange: '>= aspnetcore-6.0' +monikerRange: '>= aspnetcore-8.0' ms.author: mariamaziz ms.custom: mvc ms.date: 03/09/2026 @@ -57,11 +57,11 @@ Your custom HTTP log enricher needs to implement a single it's acceptable to send any type of argument to the `value` parameter as-is, because it's parsed into the actual type and serialized internally > to be sent further down the logging pipeline. -:::code language="csharp" source="snippets/httplogenricher/CustomHttpLogEnricher.cs" ::: +:::code language="csharp" source="samples/httplogenricher/CustomHttpLogEnricher.cs" ::: And you register it as shown in the following code using : -:::code language="csharp" source="snippets/httplogenricher/Program.cs" ::: +:::code language="csharp" source="samples/httplogenricher/Program.cs" ::: ## Key differences from general log enrichers @@ -84,5 +84,4 @@ HTTP log enrichers differ from general-purpose log enrichers ( Date: Mon, 9 Mar 2026 13:10:45 +0100 Subject: [PATCH 03/11] reference --- aspnetcore/fundamentals/http-logging/http-log-enricher.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aspnetcore/fundamentals/http-logging/http-log-enricher.md b/aspnetcore/fundamentals/http-logging/http-log-enricher.md index ab375f0dc515..b5f467713364 100644 --- a/aspnetcore/fundamentals/http-logging/http-log-enricher.md +++ b/aspnetcore/fundamentals/http-logging/http-log-enricher.md @@ -84,4 +84,4 @@ HTTP log enrichers differ from general-purpose log enrichers ( Date: Mon, 9 Mar 2026 13:18:06 +0100 Subject: [PATCH 04/11] reference --- aspnetcore/fundamentals/http-logging/http-log-enricher.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/aspnetcore/fundamentals/http-logging/http-log-enricher.md b/aspnetcore/fundamentals/http-logging/http-log-enricher.md index b5f467713364..82b248ba48db 100644 --- a/aspnetcore/fundamentals/http-logging/http-log-enricher.md +++ b/aspnetcore/fundamentals/http-logging/http-log-enricher.md @@ -57,11 +57,11 @@ Your custom HTTP log enricher needs to implement a single it's acceptable to send any type of argument to the `value` parameter as-is, because it's parsed into the actual type and serialized internally > to be sent further down the logging pipeline. -:::code language="csharp" source="samples/httplogenricher/CustomHttpLogEnricher.cs" ::: +:::code language="csharp" source="~/fundamentals/http-logging/samples/httplogenricher/CustomHttpLogEnricher.cs" ::: And you register it as shown in the following code using : -:::code language="csharp" source="samples/httplogenricher/Program.cs" ::: +:::code language="csharp" source="~/fundamentals/http-logging/samples/httplogenricher/Program.cs" ::: ## Key differences from general log enrichers @@ -84,4 +84,4 @@ HTTP log enrichers differ from general-purpose log enrichers ( Date: Mon, 9 Mar 2026 13:18:46 +0100 Subject: [PATCH 05/11] missing moniker end --- aspnetcore/fundamentals/http-logging/http-log-enricher.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/aspnetcore/fundamentals/http-logging/http-log-enricher.md b/aspnetcore/fundamentals/http-logging/http-log-enricher.md index 82b248ba48db..52b768c332f5 100644 --- a/aspnetcore/fundamentals/http-logging/http-log-enricher.md +++ b/aspnetcore/fundamentals/http-logging/http-log-enricher.md @@ -85,3 +85,5 @@ HTTP log enrichers differ from general-purpose log enrichers ( Date: Wed, 11 Mar 2026 10:33:49 +0100 Subject: [PATCH 06/11] removing code and adding it in text --- .../http-logging/http-log-enricher.md | 51 ++++++++++++++++++- .../httplogenricher/CustomHttpLogEnricher.cs | 23 --------- .../samples/httplogenricher/Program.cs | 24 --------- .../samples/httplogenricher/appsettings.json | 10 ---- .../httplogenricher/httplogenricher.csproj | 16 ------ 5 files changed, 49 insertions(+), 75 deletions(-) delete mode 100644 aspnetcore/fundamentals/http-logging/samples/httplogenricher/CustomHttpLogEnricher.cs delete mode 100644 aspnetcore/fundamentals/http-logging/samples/httplogenricher/Program.cs delete mode 100644 aspnetcore/fundamentals/http-logging/samples/httplogenricher/appsettings.json delete mode 100644 aspnetcore/fundamentals/http-logging/samples/httplogenricher/httplogenricher.csproj diff --git a/aspnetcore/fundamentals/http-logging/http-log-enricher.md b/aspnetcore/fundamentals/http-logging/http-log-enricher.md index 52b768c332f5..785a346835a8 100644 --- a/aspnetcore/fundamentals/http-logging/http-log-enricher.md +++ b/aspnetcore/fundamentals/http-logging/http-log-enricher.md @@ -57,11 +57,58 @@ Your custom HTTP log enricher needs to implement a single it's acceptable to send any type of argument to the `value` parameter as-is, because it's parsed into the actual type and serialized internally > to be sent further down the logging pipeline. -:::code language="csharp" source="~/fundamentals/http-logging/samples/httplogenricher/CustomHttpLogEnricher.cs" ::: +```csharp +using Microsoft.AspNetCore.Diagnostics.Logging; +using Microsoft.Extensions.Diagnostics.Enrichment; + +public class CustomHttpLogEnricher : IHttpLogEnricher +{ + public void Enrich(IEnrichmentTagCollector collector, HttpContext httpContext) + { + // Add custom tags based on the incoming HTTP request + collector.Add("request_method", httpContext.Request.Method); + collector.Add("request_scheme", httpContext.Request.Scheme); + + // Add tags based on the response status code (available during the response phase) + collector.Add("response_status_code", httpContext.Response.StatusCode); + + // Add tags based on user authentication status + if (httpContext.User?.Identity?.IsAuthenticated is true) + { + collector.Add("user_authenticated", true); + } + } +} +``` And you register it as shown in the following code using : -:::code language="csharp" source="~/fundamentals/http-logging/samples/httplogenricher/Program.cs" ::: +```csharp + +using System.Text.Json; + +WebApplicationBuilder builder = WebApplication.CreateBuilder(args); + +builder.Services.AddHttpLogEnricher(); +builder.Services.AddRedaction(); + +builder.Logging.AddJsonConsole(op => +{ + op.JsonWriterOptions = new JsonWriterOptions + { + Indented = true + }; +}); + +WebApplication app = builder.Build(); + +app.UseHttpLogging(); + +app.MapGet("/", () => "Hello, World!"); + +await app.RunAsync(); + +``` ## Key differences from general log enrichers diff --git a/aspnetcore/fundamentals/http-logging/samples/httplogenricher/CustomHttpLogEnricher.cs b/aspnetcore/fundamentals/http-logging/samples/httplogenricher/CustomHttpLogEnricher.cs deleted file mode 100644 index fcaa5e8de262..000000000000 --- a/aspnetcore/fundamentals/http-logging/samples/httplogenricher/CustomHttpLogEnricher.cs +++ /dev/null @@ -1,23 +0,0 @@ -#pragma warning disable EXTEXP0013 - -using Microsoft.AspNetCore.Diagnostics.Logging; -using Microsoft.Extensions.Diagnostics.Enrichment; - -public class CustomHttpLogEnricher : IHttpLogEnricher -{ - public void Enrich(IEnrichmentTagCollector collector, HttpContext httpContext) - { - // Add custom tags based on the incoming HTTP request - collector.Add("request_method", httpContext.Request.Method); - collector.Add("request_scheme", httpContext.Request.Scheme); - - // Add tags based on the response status code (available during the response phase) - collector.Add("response_status_code", httpContext.Response.StatusCode); - - // Add tags based on user authentication status - if (httpContext.User?.Identity?.IsAuthenticated is true) - { - collector.Add("user_authenticated", true); - } - } -} diff --git a/aspnetcore/fundamentals/http-logging/samples/httplogenricher/Program.cs b/aspnetcore/fundamentals/http-logging/samples/httplogenricher/Program.cs deleted file mode 100644 index 95b7f4ca2cce..000000000000 --- a/aspnetcore/fundamentals/http-logging/samples/httplogenricher/Program.cs +++ /dev/null @@ -1,24 +0,0 @@ -#pragma warning disable EXTEXP0013 - -using System.Text.Json; - -WebApplicationBuilder builder = WebApplication.CreateBuilder(args); - -builder.Services.AddHttpLogEnricher(); -builder.Services.AddRedaction(); - -builder.Logging.AddJsonConsole(op => -{ - op.JsonWriterOptions = new JsonWriterOptions - { - Indented = true - }; -}); - -WebApplication app = builder.Build(); - -app.UseHttpLogging(); - -app.MapGet("/", () => "Hello, World!"); - -await app.RunAsync(); diff --git a/aspnetcore/fundamentals/http-logging/samples/httplogenricher/appsettings.json b/aspnetcore/fundamentals/http-logging/samples/httplogenricher/appsettings.json deleted file mode 100644 index e2c6519accd1..000000000000 --- a/aspnetcore/fundamentals/http-logging/samples/httplogenricher/appsettings.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "Logging": { - "LogLevel": { - "Default": "Warning", - "Microsoft.Hosting.Lifetime": "Warning", - "Microsoft.AspNetCore.Watch.BrowserRefresh": "Warning", - "Microsoft.AspNetCore.HttpLogging.HttpLoggingMiddleware": "Information" - } - } -} diff --git a/aspnetcore/fundamentals/http-logging/samples/httplogenricher/httplogenricher.csproj b/aspnetcore/fundamentals/http-logging/samples/httplogenricher/httplogenricher.csproj deleted file mode 100644 index df65e288929d..000000000000 --- a/aspnetcore/fundamentals/http-logging/samples/httplogenricher/httplogenricher.csproj +++ /dev/null @@ -1,16 +0,0 @@ - - - - Exe - net10.0 - enable - true - httplogenricher - - - - - - - - From 8e666ec554a877277186d703da8f592a901c5a54 Mon Sep 17 00:00:00 2001 From: Mariam Aziz Date: Mon, 16 Mar 2026 10:06:49 +0100 Subject: [PATCH 07/11] changes --- aspnetcore/fundamentals/http-logging/http-log-enricher.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/aspnetcore/fundamentals/http-logging/http-log-enricher.md b/aspnetcore/fundamentals/http-logging/http-log-enricher.md index 785a346835a8..1fde0bb8c1fb 100644 --- a/aspnetcore/fundamentals/http-logging/http-log-enricher.md +++ b/aspnetcore/fundamentals/http-logging/http-log-enricher.md @@ -1,6 +1,6 @@ --- title: HTTP log enricher for incoming requests -description: Learn how to use the HTTP log enricher for incoming HTTP requests in ASP.NET Core. +description: Learn how to enrich incoming HTTP request logs with custom data using the IHttpLogEnricher interface in ASP.NET Core. ai-usage: ai-assisted author: mariamaziz monikerRange: '>= aspnetcore-8.0' @@ -25,7 +25,7 @@ After the class is created, you register it with Date: Mon, 16 Mar 2026 10:10:23 +0100 Subject: [PATCH 08/11] comments --- aspnetcore/fundamentals/http-logging/http-log-enricher.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/aspnetcore/fundamentals/http-logging/http-log-enricher.md b/aspnetcore/fundamentals/http-logging/http-log-enricher.md index 1fde0bb8c1fb..2eb41c37fa20 100644 --- a/aspnetcore/fundamentals/http-logging/http-log-enricher.md +++ b/aspnetcore/fundamentals/http-logging/http-log-enricher.md @@ -1,5 +1,5 @@ --- -title: HTTP log enricher for incoming requests +title: Enrich HTTP request logs in ASP.NET Core description: Learn how to enrich incoming HTTP request logs with custom data using the IHttpLogEnricher interface in ASP.NET Core. ai-usage: ai-assisted author: mariamaziz @@ -10,7 +10,7 @@ ms.date: 03/09/2026 uid: fundamentals/http-logging/http-log-enricher --- -# HTTP log enricher +# Enrich HTTP request logs in ASP.NET Core [!INCLUDE[](~/includes/not-latest-version.md)] From ac05ded5af501b19581ae336f944b56c0bc59a2c Mon Sep 17 00:00:00 2001 From: Mariam Aziz Date: Mon, 16 Mar 2026 10:18:48 +0100 Subject: [PATCH 09/11] renaming --- aspnetcore/toc.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aspnetcore/toc.yml b/aspnetcore/toc.yml index cb60cd8660e5..0553bb9ea637 100644 --- a/aspnetcore/toc.yml +++ b/aspnetcore/toc.yml @@ -508,7 +508,7 @@ items: uid: fundamentals/logging/index - name: HTTP logging uid: fundamentals/http-logging/index - - name: HTTP log enricher + - name: Enrich HTTP request logs in ASP.NET Core uid: fundamentals/http-logging/http-log-enricher - name: W3C logger uid: fundamentals/w3c-logger/index From 887177c629a89114ffe7464f97f6b3c157fcdc4a Mon Sep 17 00:00:00 2001 From: Wade Pickett Date: Mon, 16 Mar 2026 13:18:22 -0700 Subject: [PATCH 10/11] Apply suggestion from @wadepickett --- aspnetcore/fundamentals/http-logging/http-log-enricher.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aspnetcore/fundamentals/http-logging/http-log-enricher.md b/aspnetcore/fundamentals/http-logging/http-log-enricher.md index 2eb41c37fa20..6bc3e508101d 100644 --- a/aspnetcore/fundamentals/http-logging/http-log-enricher.md +++ b/aspnetcore/fundamentals/http-logging/http-log-enricher.md @@ -12,7 +12,7 @@ uid: fundamentals/http-logging/http-log-enricher # Enrich HTTP request logs in ASP.NET Core -[!INCLUDE[](~/includes/not-latest-version.md)] +[!INCLUDE[](~/includes/not-latest-version-without-not-supported-content.md)] :::moniker range=">= aspnetcore-8.0" From 6ecd7e0e1c2da2b0f4d556457564b67a0704e5ff Mon Sep 17 00:00:00 2001 From: Wade Pickett Date: Mon, 16 Mar 2026 14:15:49 -0700 Subject: [PATCH 11/11] Apply suggestions from code review Co-authored-by: Wade Pickett --- aspnetcore/fundamentals/http-logging/http-log-enricher.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aspnetcore/fundamentals/http-logging/http-log-enricher.md b/aspnetcore/fundamentals/http-logging/http-log-enricher.md index 6bc3e508101d..b5193af72930 100644 --- a/aspnetcore/fundamentals/http-logging/http-log-enricher.md +++ b/aspnetcore/fundamentals/http-logging/http-log-enricher.md @@ -4,7 +4,7 @@ description: Learn how to enrich incoming HTTP request logs with custom data usi ai-usage: ai-assisted author: mariamaziz monikerRange: '>= aspnetcore-8.0' -ms.author: mariamaziz +ms.author: tdykstra ms.custom: mvc ms.date: 03/09/2026 uid: fundamentals/http-logging/http-log-enricher