<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 |
추적 메시지를 수집하여 저장하고 라우팅하는 수신기를 포함합니다. |
설명
Debug 및 Trace 클래스는 같은 Listeners 컬렉션을 공유하므로 둘 중 하나의 클래스에 있는 컬렉션에 수신기 개체를 추가하면 나머지 클래스도 같은 수신기를 사용하게 됩니다. 수신기 클래스는 TraceListener 클래스에서 파생됩니다.
추적 수신기의 name 특성을 지정하지 않으면 추적 수신기의 Name은 기본적으로 빈 문자열("")을 사용합니다. 응용 프로그램에 수신기가 하나만 있는 경우에는 이름을 지정하지 않고 추가할 수 있으며 빈 문자열을 이름으로 지정하여 제거할 수 있습니다. 하지만 응용 프로그램에 둘 이상의 수신기가 있으면 각 추적 수신기에 고유한 이름을 지정해야 합니다. 이렇게 하면 Listeners 및 Listeners 컬렉션 내에서 각 추적 수신기를 식별하여 관리할 수 있습니다.
참고
동일한 이름을 가진 동일한 형식의 추적 수신기를 둘 이상 추가하면 해당 형식과 이름의 추적 수신기가 하나만 Listeners 컬렉션에 추가됩니다. 그러나 여러 개의 동일한 수신기를 Listeners 컬렉션에 프로그래밍 방식으로 추가할 수 있습니다.
initializeData 특성 값은 만들 수신기 형식에 따라 결정됩니다. 모든 추적 수신기에 initializeData를 지정할 필요는 없습니다.
참고
initializeData 특성을 사용하는 경우 컴파일러 경고 메시지 "'initializeData' 특성이 선언되지 않았습니다."가 나타납니다. 이 경고는 initializeData 특성을 인식하지 않는 추상 기본 클래스 TraceListener에 의해 구성 설정의 유효성이 검사된 경우 발생합니다. 일반적으로 매개 변수를 사용하는 생성자가 있는 추적 수신기 구현의 경우에는 이 경고를 무시해도 됩니다.
다음 표에서는 .NET Framework와 함께 제공되는 추적 수신기를 보여 주고 해당 initializeData 특성 값에 대해 설명합니다.
추적 수신기 클래스 |
initializeData 특성 값 |
---|---|
ConsoleTraceListener 생성자에 대한 useErrorStream 값입니다. 추적 및 디버그 출력을 Console.Error에 기록하려면 initializeData 특성을 "true"로 설정하고 Console.Out에 기록하려면 "false"로 설정합니다. |
|
DelimitedListTraceListener가 쓸 파일 이름입니다. |
|
기존 이벤트 로그 소스의 이름입니다. |
|
EventSchemaTraceListener가 쓸 파일 이름입니다. |
|
TextWriterTraceListener가 쓸 파일 이름입니다. |
|
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>