다음을 통해 공유


방법: 네트워크 추적 구성

애플리케이션 또는 컴퓨터 구성 파일은 형식과 네트워크 추적의 내용을 결정하는 설정을 유지합니다. 이 절차를 수행하기 전에 추적이 활성화되어야 합니다. 자세한 내용은 네트워크 추적 사용을 참조하세요.

컴퓨터 구성 파일인 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> 블록에 이름을 추가할 때, 추적 출력에는 이름과 관련된 일부 메서드에서 가져온 정보가 포함됩니다. 다음 표에서는 출력을 설명합니다.

이름 출력되는 위치
System.Net.Sockets Socket, TcpListener, TcpClientDns 클래스의 일부 퍼블릭 메서드
System.Net HttpWebRequest, HttpWebResponse, FtpWebRequestFtpWebResponse 클래스의 일부 퍼블릭 메서드와 SSL 디버그 정보(잘못된 인증서, 누락된 발급자 목록, 클라이언트 인증서 오류)
System.Net.HttpListener HttpListener, HttpListenerRequestHttpListenerResponse 클래스의 일부 공용 메서드.
System.Net.Cache System.Net.Cache의 일부 개인 및 내부 메서드
System.Net.Http HttpClient, DelegatingHandler, HttpClientHandler, HttpMessageHandler, MessageProcessingHandlerWebRequestHandler 클래스의 일부 퍼블릭 메서드
System.Net.WebSockets.WebSocket ClientWebSocketWebSocket 클래스의 일부 공용 메서드.

추적 출력 특성

다음 표에 나열된 특성은 추적 출력을 구성합니다.

Attribute name 특성 값
value 필수 String 특성입니다. 출력의 자세한 정도를 설정합니다. 올바른 값은 Critical, Error, Verbose, Warning, Information입니다.

switches 요소의 add 요소에 이 특성을 설정해야 합니다. source 요소에 이 특성을 설정하면 예외가 throw됩니다.

예: <add name="System.Net" value="Verbose"/>
maxdatasize 선택적 Int32 특성입니다. 각 줄 추적에 포함된 네트워크 데이터의 최대 바이트 수를 설정합니다. 기본값은 1024입니다.

source 요소에 이 특성을 설정해야 합니다. switches 요소 아래에 있는 요소에 이 특성을 설정하면 예외가 throw됩니다.

예: <source name="System.Net" tracemode="includehex" maxdatasize="1024">
tracemode 선택적 String 특성입니다. 16진수 및 텍스트 형식으로 프로토콜 추적을 표시하려면 includehex로 설정합니다. 텍스트만 표시하려면 protocolonly로 설정합니다. 기본값은 includehex입니다.

source 요소에 이 특성을 설정해야 합니다. switches 요소 아래에 있는 요소에 이 특성을 설정하면 예외가 throw됩니다.

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

참고 항목