【问题标题】:ASP.NET Core 3.1 HttpClient to log only warnings and errorsASP.NET Core 3.1 HttpClient 仅记录警告和错误
【发布时间】:2020-03-31 04:55:21
【问题描述】:

我注意到我应该在后台运行的应用程序(服务)由于 HttpClient 而创建了一个垃圾日志信息日志,如下所示:

信息:System.Net.Http.HttpClient.Default.LogicalHandler[100] 开始处理 HTTP 请求 POST https://localhost:44317/programmatic/getcontent 信息: 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.467ms 后结束处理 HTTP 请求 - OK

有没有办法在任何地方进行配置?

我这样注入客户端工厂:

serviceCollection.AddHttpClient();

然后像这样创建一个客户端:

HttpClient client = _clientFactory.CreateClient();

【问题讨论】:

    标签: asp.net-core asp.net-core-3.1


    【解决方案1】:

    您可以通过 Appsettings 文件在 .NET Core 中配置日志记录。你应该在appsettings.json文件中找到一个部分

    {
      "Logging": {
        "Debug": {
          "LogLevel": {
            "Default": "Information"
          }
        }
      }
    }
    

    您可以添加额外的日志级别过滤器来指定记录所需的最低日志级别。

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

    .NET Core 中使用过滤器进行日志记录的文档可以在 here 找到。

    可以在 IHttpClientFactory 库中找到使用过滤器进行日志记录的文档here。本文档还包括使用命名 HttpClient 进行日志过滤的示例。

    【讨论】:

    • 我已将所有日志记录级别设置为警告,但我仍然在控制台中获取信息。我在这里错过了什么吗?
    • 我发现了问题所在,当我创建了一个执行所有 HttpClient 请求的新 Quarz 作业时,我重新定义了默认记录器。感谢您的回答!
    【解决方案2】:

    您可以覆盖appsettings.json 中的日志级别,例如,向 Logging 对象添加新行:

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

    这将记录Warning 及以上级别的所有内容。

    【讨论】:

    • 我在主 appsettings 和 appsettings.development 中尝试过这个......它仍然在控制台 o_0 中显示输出。还有什么可以覆盖这些吗?
    猜你喜欢
    • 1970-01-01
    • 2015-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-16
    • 2020-11-29
    相关资源
    最近更新 更多