Microsoft.AspNetCore.Diagnostics.Middleware 9.0.0

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

// Install Microsoft.AspNetCore.Diagnostics.Middleware as a Cake Tool
#tool nuget:?package=Microsoft.AspNetCore.Diagnostics.Middleware&version=9.0.0                

Microsoft.AspNetCore.Diagnostics.Middleware

HTTP request diagnostics middleware for tracking latency and enriching and redacting log output.

Install the package

From the command-line:

dotnet add package Microsoft.AspNetCore.Diagnostics.Middleware

Or directly in the C# project file:

<ItemGroup>
  <PackageReference Include="Microsoft.AspNetCore.Diagnostics.Middleware" Version="[CURRENTVERSION]" />
</ItemGroup>

Usage Example

Tracking HTTP Request Latency

These components enable tracking and reporting the latency of HTTP request processing.

The services can be registered using the following methods:

public static IServiceCollection AddRequestCheckpoint(this IServiceCollection services)
public static IServiceCollection AddRequestLatencyTelemetry(this IServiceCollection services)
public static IServiceCollection AddRequestLatencyTelemetry(this IServiceCollection services, Action<RequestLatencyTelemetryOptions> configure)
public static IServiceCollection AddRequestLatencyTelemetry(this IServiceCollection services, IConfigurationSection section)

The middleware can be registered using the following methods:

public static IApplicationBuilder UseRequestCheckpoint(this IApplicationBuilder builder)
public static IApplicationBuilder UseRequestLatencyTelemetry(this IApplicationBuilder builder)

For example:

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddRequestLatencyTelemetry();
builder.Services.AddRequestCheckpoint(options => { });

var app = builder.Build();

app.UseRequestCheckpoint();
app.UseRequestLatencyTelemetry();

HTTP Request Logs Enrichment and Redaction

These components enable enriching and redacting ASP.NET Core's HTTP request logs.

These APIs are only available for ASP.NET Core 8+.

The services can be registered using the following methods:

public static IServiceCollection AddHttpLoggingRedaction(this IServiceCollection services, Action<HeaderParsingOptions>? configure = null)
public static IServiceCollection AddHttpLoggingRedaction(this IServiceCollection services, IConfigurationSection section)
public static IServiceCollection AddHttpLogEnricher<T>(this IServiceCollection services)

The middleware can be registered using the following method:

public static IApplicationBuilder UseHttpLogging(this IApplicationBuilder builder)

For example:

var builder = WebApplication.CreateBuilder(args);

// General logging options
builder.Services.AddHttpLogging(options => { });
// Redaction options
builder.Services.AddHttpLoggingRedaction(options => { });

var app = builder.Build();

app.UseHttpLogging();

Feedback & Contributing

We welcome feedback and contributions in our GitHub repo.

Product Compatible and additional computed target framework versions.
.NET 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Microsoft.AspNetCore.Diagnostics.Middleware:

Package Downloads
WC.Library.Web

Package Description

BBT.Prism.AspNetCore

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
9.0.0 970 11/12/2024
9.0.0-preview.9.24507.7 94 10/8/2024
9.0.0-preview.8.24460.1 66 9/10/2024
9.0.0-preview.7.24412.10 80 8/14/2024
9.0.0-preview.6.24353.1 68 7/10/2024
9.0.0-preview.5.24311.7 85 6/11/2024
9.0.0-preview.4.24271.2 80 5/21/2024
9.0.0-preview.3.24209.3 97 4/11/2024
9.0.0-preview.2.24157.4 79 3/12/2024
9.0.0-preview.1.24108.1 105 2/13/2024
8.10.0 6,080 10/8/2024
8.9.1 6,539 9/6/2024
8.9.0 2,114 9/5/2024
8.8.0 3,660 8/13/2024
8.7.0 4,036 7/10/2024
8.6.0 2,317 6/11/2024
8.5.0 7,613 5/14/2024
8.4.0 8,761 4/9/2024
8.3.0 956 3/12/2024
8.2.0 1,290 2/13/2024
8.1.0 1,542 1/9/2024
8.0.0 2,114 11/14/2023