首页 > 解决方案 > 删除 ASP.NET Core 中的 http 客户端日志记录处理程序

问题描述

使用HttpClientFactory.NET Core 时,是否可以以某种方式删除默认值LoggingHttpMessageHandler

我期待像下面这样的东西,但它似乎不存在

services.AddHttpClient("minos")
   .RemoveHttpMessageHandler<LoggingHttpMessageHandler>();

标签: c#asp.net-corehttpclient

解决方案


您可以通过将 HttpClient 的日志级别设置为none在 appsettings.json 中进行配置:

但是,这也将启用来自 System 根名称空间中所有其他组件的信息性消息。因此,最好通过将配置限制为“System.Net.Http.HttpClient”来配置日志记录,以便您仅通过通过 HttpClientFactory 创建的客户端添加来自 HTTP 请求的消息:

    {
      "Logging": {
        "LogLevel": {
          "Default": "Warning",
          "System.Net.Http.HttpClient": "Information"
        }
      }
    }

https://www.stevejgordon.co.uk/httpclientfactory-asp-net-core-logging


推荐阅读