JorgeCostaMacia.Http.Serilog
3.0.2
Prefix Reserved
dotnet add package JorgeCostaMacia.Http.Serilog --version 3.0.2
NuGet\Install-Package JorgeCostaMacia.Http.Serilog -Version 3.0.2
<PackageReference Include="JorgeCostaMacia.Http.Serilog" Version="3.0.2" />
<PackageVersion Include="JorgeCostaMacia.Http.Serilog" Version="3.0.2" />
<PackageReference Include="JorgeCostaMacia.Http.Serilog" />
paket add JorgeCostaMacia.Http.Serilog --version 3.0.2
#r "nuget: JorgeCostaMacia.Http.Serilog, 3.0.2"
#:package JorgeCostaMacia.Http.Serilog@3.0.2
#addin nuget:?package=JorgeCostaMacia.Http.Serilog&version=3.0.2
#tool nuget:?package=JorgeCostaMacia.Http.Serilog&version=3.0.2
JorgeCostaMacia.Http.Serilog
Serilog request-logging middleware for ASP.NET Core — request body buffering, request- and authentication-level log-context enrichment, and Serilog's per-request summary log event with a status-based log level.
Install
dotnet add package JorgeCostaMacia.Http.Serilog
Usage
Register in pipeline order:
using JorgeCostaMacia.Http.Serilog.Infrastructure;
app.UseBodyBufferMiddleware(); // enable body re-reading
app.UseEnrichRequestMiddleware(); // scheme, host, ip, body, user-agent, X-Request-ID
app.UseAuthentication();
app.UseEnrichAuthenticationMiddleware(); // UserName (after auth)
app.UseSerilogRequestLogging(options => options.WithDefaults()); // one "Request End" event per request
The request-completion event is logged at Error for exceptions / 5xx, Warning for 4xx, and Information otherwise.
Note: the enrichment logs the complete request body of POST/PUT/PATCH requests, by design (structured, queryable payloads in your log store). Anything the client sends — including credentials, if your API receives them in bodies — reaches the sink, and memory usage grows with the body size, so bound requests upstream (e.g. nginx
client_max_body_sizeand per-IP limits) and keep authentication in headers or an external IdP.
Requirements
One of the following SDKs: .NET 8 / 9 / 10 (.NET 10 recommended).
Depends on Serilog.AspNetCore and the ASP.NET Core shared framework.
About
JorgeCostaMacia.Http.Serilog is part of http-net — ASP.NET Core building blocks, each scoped to a single concern and reusable across your services.
- Repository: github.com/JorgeCostaMacia/http-net
- Issues & requests: open an issue
- Contributing: CONTRIBUTING.md
- Security: report a vulnerability
Author: Jorge Costa Maciá
| 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
- Serilog (>= 4.4.0)
- Serilog.AspNetCore (>= 10.0.0)
-
net8.0
- Microsoft.Extensions.Configuration (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection (>= 10.0.10)
- Serilog (>= 4.4.0)
- Serilog.AspNetCore (>= 10.0.0)
-
net9.0
- Microsoft.Extensions.Configuration (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection (>= 10.0.10)
- Serilog (>= 4.4.0)
- Serilog.AspNetCore (>= 10.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.