Par*_*dar 9 c# system.diagnostics dotnet-httpclient .net-core .net-standard
根据https://docs.microsoft.com/en-us/dotnet/framework/network-programming/how-to-configure-network-tracing 上的参考文件
我们可以在 web.config 或任何其他配置文件中设置它,我们可以获得详细的 system.net 跟踪、HttpClient调用的数据包跟踪以及调用中的任何类型的问题HttpClient都可以在跟踪中捕获,无论是证书、TLS 还是其他任何东西。
但是,我们是否有类似的 dotnet 核心/标准实现,可以在 web 应用程序或控制台应用程序/库中使用?
dotnet 框架的配置:
<configuration>
<system.diagnostics>
<sources>
<source name="System.Net" tracemode="includehex" maxdatasize="1024">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
--------------
----------------------
Run Code Online (Sandbox Code Playgroud)
.NET(Core)使用EventSource来记录这些事件。在 Windows 上,事件源使用Windows 事件跟踪 (ETW),因此与其配合使用的所有工具都可用于记录和读取跟踪输出。在 Linux 上,LTTTNG用于记录事件。
Microsoft 的运行时存储库包含有关如何使用PerfView和logman调试网络跟踪的 Windows 文档。还有关于在 Linux 上捕获跟踪的有用文档。
微软正在努力以某种方式统一跨平台的体验。目前,这种支持似乎是通过dotnet-trace 命令进行的。
您没有直接提到 ASP.NET Core,所以我假设您的问题不是特定于它的,但请注意,正如 Alexandre 指出的那样,跟踪可以配置,并且可以提供您需要的部分或全部内容。
小智 -3
文档中解释了一切:https://learn.microsoft.com/en-us/aspnet/core/fundamentals/http-requests ?view=aspnetcore-2.2#logging-1 。
总之,您需要在 appsettings.json 中设置“Trace”日志记录级别,并且您应该看到日志(如果您像这样注册 HttpClient: https: //learn.microsoft.com/en-us/aspnet/core/fundamentals /http-requests?view=aspnetcore-2.2#basic-usage ) :
"Logging": {
"LogLevel": {
"Default": "Trace"
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5111 次 |
| 最近记录: |