다음을 통해 공유


<trace>의 <listeners>에 대한 <add> 요소

업데이트: 2007년 11월

Listeners 컬렉션에 수신기를 추가합니다.

<configuration> 요소
  <system.diagnostics> 요소
    <trace> 요소
      <trace>의 <listeners> 요소
        <trace>의 <listeners>에 대한 <add> 요소

<add name="name" 
     type="trace listener class name, Version, Culture, PublicKeyToken"
     initializeData="data"/>

특성 및 요소

다음 단원에서는 특성, 자식 요소 및 부모 요소에 대해 설명합니다.

특성

특성

설명

type

필수 특성입니다.

수신기 형식을 지정합니다. 정규화된 형식 이름 지정에 지정된 조건에 맞는 문자열을 사용해야 합니다.

initializeData

선택적 특성입니다.

지정한 클래스에 대해 생성자에 전달되는 문자열입니다.

name

선택적 특성입니다.

수신기 이름을 지정합니다.

자식 요소

없음

부모 요소

요소

설명

configuration

공용 언어 런타임 및 .NET Framework 응용 프로그램에서 사용하는 모든 구성 파일의 루트 요소입니다.

listeners

메시지를 수집하여 저장하고 라우팅하는 수신기를 지정합니다. 수신기는 추적 출력을 적절한 대상으로 안내합니다.

system.diagnostics

ASP.NET 구성 섹션의 루트 요소를 지정합니다.

trace

추적 메시지를 수집하여 저장하고 라우팅하는 수신기를 포함합니다.

설명

DebugTrace 클래스는 같은 Listeners 컬렉션을 공유하므로 둘 중 하나의 클래스에 있는 컬렉션에 수신기 개체를 추가하면 나머지 클래스도 같은 수신기를 사용하게 됩니다. 수신기 클래스는 TraceListener 클래스에서 파생됩니다.

추적 수신기의 name 특성을 지정하지 않으면 추적 수신기의 Name은 기본적으로 빈 문자열("")을 사용합니다. 응용 프로그램에 수신기가 하나만 있는 경우에는 이름을 지정하지 않고 추가할 수 있으며 빈 문자열을 이름으로 지정하여 제거할 수 있습니다. 하지만 응용 프로그램에 둘 이상의 수신기가 있으면 각 추적 수신기에 고유한 이름을 지정해야 합니다. 이렇게 하면 ListenersListeners 컬렉션 내에서 각 추적 수신기를 식별하여 관리할 수 있습니다.

참고

동일한 이름을 가진 동일한 형식의 추적 수신기를 둘 이상 추가하면 해당 형식과 이름의 추적 수신기가 하나만 Listeners 컬렉션에 추가됩니다. 그러나 여러 개의 동일한 수신기를 Listeners 컬렉션에 프로그래밍 방식으로 추가할 수 있습니다.

initializeData 특성 값은 만들 수신기 형식에 따라 결정됩니다. 모든 추적 수신기에 initializeData를 지정할 필요는 없습니다.

참고

initializeData 특성을 사용하는 경우 컴파일러 경고 메시지 "'initializeData' 특성이 선언되지 않았습니다."가 나타납니다. 이 경고는 initializeData 특성을 인식하지 않는 추상 기본 클래스 TraceListener에 의해 구성 설정의 유효성이 검사된 경우 발생합니다. 일반적으로 매개 변수를 사용하는 생성자가 있는 추적 수신기 구현의 경우에는 이 경고를 무시해도 됩니다.

다음 표에서는 .NET Framework와 함께 제공되는 추적 수신기를 보여 주고 해당 initializeData 특성 값에 대해 설명합니다.

추적 수신기 클래스

initializeData 특성 값

System.Diagnostics.ConsoleTraceListener

ConsoleTraceListener 생성자에 대한 useErrorStream 값입니다. 추적 및 디버그 출력을 Console.Error에 기록하려면 initializeData 특성을 "true"로 설정하고 Console.Out에 기록하려면 "false"로 설정합니다.

System.Diagnostics.DelimitedListTraceListener

DelimitedListTraceListener가 쓸 파일 이름입니다.

System.Diagnostics.EventLogTraceListener

기존 이벤트 로그 소스의 이름입니다.

System.Diagnostics.EventSchemaTraceListener

EventSchemaTraceListener가 쓸 파일 이름입니다.

System.Diagnostics.TextWriterTraceListener

TextWriterTraceListener가 쓸 파일 이름입니다.

System.Diagnostics.XmlWriterTraceListener

XmlWriterTraceListener가 쓸 파일 이름입니다.

예제

다음 예제에서는 <add> 요소를 사용하여 수신기 MyListener 및 MyEventListener를 Listeners 컬렉션에 추가하는 방법을 보여 줍니다. MyListener는 MyListener.log라는 파일을 만들어 그 파일에 출력을 씁니다. MyEventListener는 이벤트 로그에 엔트리를 만듭니다.

<configuration>
   <system.diagnostics>
      <trace autoflush="true" indentsize="0">
         <listeners>
            <add name="myListener" type="System.Diagnostics.TextWriterTraceListener, system, version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" initializeData="c:\myListener.log" />
            <add name="MyEventListener"
                 type="System.Diagnostics.EventLogTraceListener, system, version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"                 initializeData="MyConfigEventLog"/>
            <add name="configConsoleListener"
                 type="System.Diagnostics.ConsoleTraceListener, system, version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
         </listeners>
      </trace>
   </system.diagnostics>
</configuration>

참고 항목

개념

추적 수신기

참조

추적 및 디버그 설정 스키마

Trace

Debug

EventLogTraceListener

ConsoleTraceListener

TextWriterTraceListener