SanitizedHttpLogger 0.0.3
dotnet add package SanitizedHttpLogger --version 0.0.3
NuGet\Install-Package SanitizedHttpLogger -Version 0.0.3
<PackageReference Include="SanitizedHttpLogger" Version="0.0.3" />
paket add SanitizedHttpLogger --version 0.0.3
#r "nuget: SanitizedHttpLogger, 0.0.3"
// Install SanitizedHttpLogger as a Cake Addin #addin nuget:?package=SanitizedHttpLogger&version=0.0.3 // Install SanitizedHttpLogger as a Cake Tool #tool nuget:?package=SanitizedHttpLogger&version=0.0.3
How does it work
It's not possible to configure the log pattern of the Microsoft.Extensions.Http
based HttpClient
loggers. It has to be replaced.
This package replaces the default loggers with a logger that:
- Reduces the number of log statements on
HttpClient
requests from 4 to 2 - Makes sure that sensitive information like api-keys or tokens in the request-Uri can be sanitized using configurable Regex patterns
Change in logging output
Before:
info: Start processing HTTP request GET https://my.api.com/v1/status?apikey=my-secret-key
info: Sending HTTP request GET https://my.api.com/v1/status?apikey=my-secret-key
info: Received HTTP response headers after 188.6041ms - 200
info: End processing HTTP request after 188.8026ms - 200
After:
info: Sending HTTP request GET https://my.api.com/v1/status?apikey=xxx
info: Received HTTP response GET https://my.api.com/v1/status?apikey=xxx - 200 in 186.4883ms
Install
$ dotnet add package SanitizedHttpLogger
Usage
Via Options
// This regex pattern will match any part of a string that starts with "apikey=" (in a case-insensitive manner)
// followed by any number of characters that are not an ampersand.
services.UseSanitizedHttpLogger(o =>
o.RequestUriReplacements.Add("(?i)apikey=[^&]*", "apikey=xxx")
);
Via Configuration
{
"SanitizedHttpLoggerOptions": {
"RequestUriReplacements": {
"(?i)apikey=[^&]*": "apikey=xxx"
}
}
}
services.Configure<SanitizedHttpLoggerOptions>(Configuration);
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. 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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 is compatible. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.8
- Microsoft.Extensions.Http (>= 3.1.0)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 3.1.0)
- Stef.Validation.Options (>= 0.1.1)
-
.NETStandard 2.0
- Microsoft.Extensions.Http (>= 3.1.0)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 3.1.0)
- Stef.Validation.Options (>= 0.1.1)
-
.NETStandard 2.1
- Microsoft.Extensions.Http (>= 3.1.0)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 3.1.0)
- Stef.Validation.Options (>= 0.1.1)
-
net6.0
- Microsoft.Extensions.Http (>= 6.0.0)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 6.0.0)
- Stef.Validation.Options (>= 0.1.1)
-
net7.0
- Microsoft.Extensions.Http (>= 7.0.0)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 7.0.0)
- Stef.Validation.Options (>= 0.1.1)
-
net8.0
- Microsoft.Extensions.Http (>= 8.0.0)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 8.0.0)
- Stef.Validation.Options (>= 0.1.1)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on SanitizedHttpLogger:
Package | Downloads |
---|---|
Freecurrency-API
This unofficial (RestEase based) client enables working with freecurrencyapi (https://freecurrencyapi.com) |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.0.3 | 667 | 3/20/2024 |
0.0.2 | 109 | 3/20/2024 |
0.0.1 | 178 | 3/16/2024 |
0.0.1-preview-04 | 98 | 3/14/2024 |
# 0.0.2 (20 March 2024)
- #2 Add SanitizedHttpClientLogger [enhancement]
The full release notes can be found here: https://github.com/StefH/SanitizedHttpLogger/blob/main/ReleaseNotes.md