如何为 HttpClient 调用配置网络跟踪 .NET Core?

问题描述 投票:0回答:2

根据参考文档如何:配置网络跟踪,我们可以在 web.config 或任何其他配置文件中进行设置,我们可以获得详细的 system.net 跟踪、

HttpClient
调用和任何类型的数据包跟踪
HttpClient
调用中的问题可以在跟踪中捕获,无论是证书、TLS还是其他任何内容。

但是,我们是否有类似的 .NET Core/标准实现,可以在 Web 应用程序或控制台应用程序/库中使用?

.NET框架的配置:

<configuration>
  <system.diagnostics>
    <sources>
      <source name="System.Net" tracemode="includehex" maxdatasize="1024">
        <listeners>
          <add name="System.Net"/>
        </listeners>
      </source>
      --------------
----------------------
c# .net-core dotnet-httpclient .net-standard system.diagnostics
2个回答
6
投票

.NET(核心)使用EventSource来记录这些事件。在 Windows 上,事件源使用“Windows 事件跟踪 (ETW)”,因此所有与其配合使用的工具都可用于记录和读取跟踪输出。在 Linux 上,LTTNG 用于记录事件。 Microsoft 的运行时存储库

包含有关如何使用

PerfViewlogman 调试网络跟踪的 Windows 文档。还有有关在 Linux 上捕获跟踪的文档很有用。 微软正在努力以某种方式统一跨平台的体验。目前,这种支持似乎是通过 dotnet-trace 命令

实现的。

您没有直接提到 ASP.NET Core,所以我假设您的问题不是特定于它的,但请注意,正如 Alexandre 指出的那样

跟踪可以配置,并且可能会提供您的部分或全部内容需要。

文档中解释了一切,

-3
投票
在 ASP.NET Core 中使用 IHttpClientFactory 发出 HTTP 请求,日志记录

总而言之,您需要在文件 appsettings.json

中设置“Trace”日志记录级别,并且您应该看到日志(如果您像

在 ASP.NET Core 中使用 IHttpClientFactory 发出 HTTP 请求,基本用法那样注册 HttpClient) ): "Logging": { "LogLevel": { "Default": "Trace" } }


© www.soinside.com 2019 - 2024. All rights reserved.