ASP.NET Core 3.1 HttpClient 僅記錄警告和錯誤
我注意到我應該在後台執行的應用程序(服務)由於 HttpClient 而創建了一個垃圾日誌資訊日誌,如下所示:
info: System.Net.Http.HttpClient.Default.LogicalHandler[100] 開始處理 HTTP 請求 POST <https://localhost:44317/programmatic/getcontent> info: System.Net.Http.HttpClient.Default.ClientHandler[100] 發送 HTTP請求 POST <https://localhost:44317/programmatic/getcontent>資訊:System.Net.Http.HttpClient.Default.ClientHandler[101] 在 3027.6345 毫秒後收到 HTTP 響應 - 確定資訊:System.Net.Http.HttpClient.Default.LogicalHandler [101] 在 3028.2987 毫秒後結束處理 HTTP 請求 - 確定資訊:System.Net.Http.HttpClient.Default.ClientHandler [101] 在 3052.4709 毫秒後收到 HTTP 響應 - 確定資訊:System.Net.Http.HttpClient.Default.LogicalHandler [ 101] 在 3053.467 毫秒後結束處理 HTTP 請求 - OK
有沒有辦法在任何地方配置它?
我像這樣注入客戶端工廠:
serviceCollection.AddHttpClient();然後像這樣創建一個客戶端:
HttpClient client = _clientFactory.CreateClient();
您可以通過 Appsettings 文件在 .NET Core 中配置日誌記錄。您應該在
appsettings.json文件中找到一個部分{ "Logging": { "Debug": { "LogLevel": { "Default": "Information" } } } }您可以添加額外的日誌級別過濾器來指定記錄所需的最低日誌級別。
{ "Logging": { "Debug": { "LogLevel": { "Default": "Information", "System.Net.Http.HttpClient": "Debug" } } } }可以在此處找到使用 .NET Core 中的過濾器進行日誌記錄的文件。
可以在此處找到使用 IHttpClientFactory 庫中的過濾器進行日誌記錄的文件。本文件還包括使用命名 HttpClient 進行日誌過濾的範例。