CD.RequestResponse.Middleware
2.0.0-preview.1
dotnet add package CD.RequestResponse.Middleware --version 2.0.0-preview.1
NuGet\Install-Package CD.RequestResponse.Middleware -Version 2.0.0-preview.1
<PackageReference Include="CD.RequestResponse.Middleware" Version="2.0.0-preview.1" />
<PackageVersion Include="CD.RequestResponse.Middleware" Version="2.0.0-preview.1" />
<PackageReference Include="CD.RequestResponse.Middleware" />
paket add CD.RequestResponse.Middleware --version 2.0.0-preview.1
#r "nuget: CD.RequestResponse.Middleware, 2.0.0-preview.1"
#:package CD.RequestResponse.Middleware@2.0.0-preview.1
#addin nuget:?package=CD.RequestResponse.Middleware&version=2.0.0-preview.1&prerelease
#tool nuget:?package=CD.RequestResponse.Middleware&version=2.0.0-preview.1&prerelease
CD.RequestResponse.Middleware
Privacy-conscious ASP.NET Core request/response logging with structured logs, bounded opt-in body capture, custom sinks, and asynchronous JSON Lines file output. Supports .NET 8, 9, and 10.
using CD.RequestResponse;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddRequestResponseLogging(options =>
{
options.ExcludedPathPrefixes.Add("/health");
});
builder.Services.AddRequestResponseFileLogging(options =>
{
options.DirectoryPath = "logs";
});
var app = builder.Build();
app.UseRequestResponseLogging();
Bodies, query strings, client IP addresses, and user agents are disabled by default. Body capture must be explicitly enabled and is limited to known textual content types:
options.Fields |= RequestResponseLogFields.RequestBody |
RequestResponseLogFields.ResponseBody;
options.RequestBodyLogLimit = 8 * 1024;
options.ResponseBodyLogLimit = 8 * 1024;
options.RequestBodyTransform = (context, body) => RedactSecrets(body);
Use options.Handler for a small custom integration or implement IRequestResponseLogSink and register it with AddRequestResponseLogSink<TSink>().
See the complete documentation and migration guide on GitHub.
| Product | Versions 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. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- No dependencies.
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on CD.RequestResponse.Middleware:
| Package | Downloads |
|---|---|
|
CD.File-Logger.Middleware
Compatibility package for CD.File-Logger.Middleware 1.x users. File logging is now included in CD.RequestResponse.Middleware. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.0.0-preview.1 | 82 | 8/22/2026 |
| 1.0.0 | 302 | 11/9/2024 |