6.28HTTP 请求日志

默认情况下,系统会在发送 HTTP 远程请求时打印相关日志信息,如下所示:

默认情况下,系统会在发送 HTTP 远程请求时打印相关日志信息,如下所示:

bash
info: System.Net.Http.HttpClient.Default.LogicalHandler[100]      Start processing HTTP request GET https://furion.net/info: System.Net.Http.HttpClient.Default.ClientHandler[100]      Sending HTTP request GET https://furion.net/info: System.Net.Http.HttpClient.Default.ClientHandler[101]      Received HTTP response headers after 93.0553ms - 200info: System.Net.Http.HttpClient.Default.LogicalHandler[101]      End processing HTTP request after 122.2355ms - 200

若您希望关闭这些日志信息,可以在项目的 appsettings.json 以及 appsettings.Development.json 配置文件中进行如下设置:

cs
{  "Logging": {    "LogLevel": {      "Default": "Information",      "Microsoft.AspNetCore": "Warning",      "Microsoft.EntityFrameworkCore": "Information",      "System.Net.Http.HttpClient": "Warning"  // 将日志级别设置为 Warning 以关闭 Info 级别日志    }  }}

通过将 System.Net.Http.HttpClient 的日志级别设置为 Warning,您可以有效地关闭 Info 级别的 HTTP 请求日志信息。请注意,在 appsettings.Development.json 中的设置将覆盖 appsettings.json 中的相应设置(如果两者都存在的话),这通常用于在开发环境中提供不同的日志记录策略。

除了上述配置方式,您还可以在程序中关闭 HTTP 远程请求的日志记录。具体操作如下:

cs
// 为默认客户端关闭日志services.AddHttpClient(string.Empty)    .RemoveAllLoggers();// 为特定客户端关闭日志//services.AddHttpClient("weixin")//    .RemoveAllLoggers();// 还可以一键为所有客户端配置关闭日志services.ConfigureHttpClientDefaults(clientBuilder =>{    clientBuilder.RemoveAllLoggers();});// 或使用 IHttpRemoteBuilder 扩展方法进行一键配置services.AddHttpRemote()    .ConfigureHttpClientDefaults(clientBuilder =>    {        clientBuilder.RemoveAllLoggers();    });