如何配置网络跟踪

应用程序或计算机配置文件保存用于确定网络跟踪的格式和内容的设置。 在执行此过程之前,请确保已启用跟踪。 有关详细信息,请参阅 “启用网络跟踪”。

计算机配置文件 machine.config存储在 %windir%\Microsoft.NET\Framework 文件夹中。 计算机上安装的每个 .NET Framework 版本的%windir%\Microsoft.NET\Framework 下的文件夹中有一个单独的 machine.config 文件,例如:

  • C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Config\machine.config
  • C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config

这些设置也可以在应用程序的配置文件中进行,该应用程序优先于计算机配置文件。

配置网络跟踪

若要配置网络跟踪,请将以下行添加到相应的配置文件。 下表描述了这些设置的值和选项。

<configuration>
  <system.diagnostics>
    <sources>
      <source name="System.Net" tracemode="includehex" maxdatasize="1024">
        <listeners>
          <add name="System.Net"/>
        </listeners>
      </source>
      <source name="System.Net.Cache">
        <listeners>
          <add name="System.Net"/>
        </listeners>
      </source>
      <source name="System.Net.Http">
        <listeners>
          <add name="System.Net"/>
        </listeners>
      </source>
      <source name="System.Net.Sockets">
        <listeners>
          <add name="System.Net"/>
        </listeners>
      </source>
      <source name="System.Net.WebSockets">
        <listeners>
          <add name="System.Net"/>
        </listeners>
      </source>
   </sources>
    <switches>
      <add name="System.Net" value="Verbose"/>
      <add name="System.Net.Cache" value="Verbose"/>
      <add name="System.Net.Http" value="Verbose"/>
      <add name="System.Net.Sockets" value="Verbose"/>
      <add name="System.Net.WebSockets" value="Verbose"/>
    </switches>
    <sharedListeners>
      <add name="System.Net"
        type="System.Diagnostics.TextWriterTraceListener"
        initializeData="network.log"
        traceOutputOptions="ProcessId, DateTime"
      />
    </sharedListeners>
    <trace autoflush="true"/>
  </system.diagnostics>
</configuration>

方法输出的跟踪

向块添加名称 <switches> 时,跟踪输出包含与名称相关的某些方法中的信息。 下表描述了输出:

Name 输出来源于
System.Net.Sockets SocketTcpListenerTcpClientDns类的一些公共方法。
System.Net 某些公共方法的HttpWebRequestHttpWebResponseFtpWebRequestFtpWebResponse类,以及 SSL 调试信息(无效证书、缺少颁发者列表和客户端证书错误)。
System.Net.HttpListener 某些公共方法属于HttpListenerHttpListenerRequestHttpListenerResponse类。
System.Net.Cache System.Net.Cache 中的一些私有和内部方法。
System.Net.Http HttpClientDelegatingHandlerHttpClientHandlerHttpMessageHandlerMessageProcessingHandlerWebRequestHandler类的一些公共方法。
System.Net.WebSockets.WebSocket ClientWebSocket 类和 WebSocket 类中的一些公共方法。

追踪输出属性

下表中列出的属性配置跟踪输出:

属性名称 属性值
value 必需 String 属性。 设置输出的详细程度。 有效值是 CriticalErrorVerboseWarningInformation

必须在switches元素的add元素上设置此属性。 如果在元素上设置了此属性, source 则会引发异常。

示例: <add name="System.Net" value="Verbose"/>
maxdatasize 可选 Int32 属性。 设置每个行跟踪中包含的网络数据的最大字节数。 默认值为 1024。

必须在source元素上设置此属性。 如果在元素下的 switches 元素上设置了此属性,则会引发异常。

示例: <source name="System.Net" tracemode="includehex" maxdatasize="1024">
tracemode 可选 String 属性。 将includehex设置为以十六进制和文本格式显示协议跟踪。 设置为 protocolonly 仅显示文本。 默认值为 includehex

必须在 source 元素上设置此属性。 如果在元素下的 switches 元素上设置了此属性,则会引发异常。

示例: <source name="System.Net" tracemode="includehex" maxdatasize="1024">

另请参阅