方法: ネットワークのトレースを構成する

アプリケーションまたはコンピューターの構成ファイルには、ネットワークのトレースの形式と内容を決定する設定が保持されます。 この手順に従う前に、トレースが有効になっていることを確認します。 詳細については、「ネットワークのトレースの有効化」を参照してください。

コンピューター構成ファイルの machine.config は、 %windir%\Microsoft.NET\Framework フォルダーに格納されています。 machine.config は、コンピューターにインストールされている .NET Framework のバージョンごとに、 %windir%\Microsoft.NET\Framework フォルダーの下に、次のように別ファイルで用意されています。

  • 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> ブロックに名前を追加すると、トレース出力にその名前に関連する一部のメソッドからの情報が含まれます。 次の表に出力を示します。

名前 出力元
System.Net.Sockets SocketTcpListenerTcpClient、および Dns クラスの一部のパブリック メソッド。
System.Net HttpWebRequestHttpWebResponseFtpWebRequest、および FtpWebResponse クラスの一部のパブリック メソッド、および SSL デバッグ情報 (無効な証明書、不足している発行元一覧、およびクライアント証明書エラー)。
System.Net.HttpListener HttpListenerHttpListenerRequest、および HttpListenerResponse クラスの一部のパブリック メソッド。
System.Net.Cache System.Net.Cache 内の一部のプライベート メソッドと内部メソッド。
System.Net.Http HttpClientDelegatingHandlerHttpClientHandlerHttpMessageHandlerMessageProcessingHandler、および WebRequestHandler クラスの一部のパブリック メソッド。
System.Net.WebSockets.WebSocket ClientWebSocket および WebSocket クラスの一部のパブリック メソッド。

トレースの出力属性

次の表に示した属性で、トレース出力を構成できます。

属性名 属性値
value 必須の String 属性です。 出力の詳細度を設定します。 有効な値は、CriticalErrorVerboseWarning、および Information です。

この属性は、switches 要素の add 要素に設定する必要があります。 この属性を source 要素に設定すると、例外がスローされます。

例 : <add name="System.Net" value="Verbose"/>
maxdatasize 省略可能な Int32 属性です。 各行トレースに含まれるネットワーク データの最大バイト数を設定します。 既定値は 1024 です。

この属性は、source 要素に設定する必要があります。 この属性を switches 要素の下の要素に設定すると、例外がスローされます。

例 : <source name="System.Net" tracemode="includehex" maxdatasize="1024">
tracemode 省略可能な String 属性です。 プロトコル トレースを 16 進数およびテキストの形式で表示するには、includehex に設定します。 テキストのみを表示するには、protocolonly に設定します。 既定値は includehex です。

この属性は、source 要素に設定する必要があります。 この属性を switches 要素の下の要素に設定すると、例外がスローされます。

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

関連項目