다음을 통해 공유


EventSchemaTraceListener 클래스

정의

엔드투엔드 이벤트의 추적 또는 디버깅 출력을 XML로 인코딩된 스키마 규격 로그 파일에 연결합니다.

public ref class EventSchemaTraceListener : System::Diagnostics::TextWriterTraceListener
public class EventSchemaTraceListener : System.Diagnostics.TextWriterTraceListener
type EventSchemaTraceListener = class
    inherit TextWriterTraceListener
Public Class EventSchemaTraceListener
Inherits TextWriterTraceListener
상속

예제

다음 코드 예제를 사용 하는 방법에 설명 합니다 EventSchemaTraceListener 클래스입니다.


///////////////////////////////////////////////////////////////////////
//
// EventSchemaTraceListener.cpp : main project file.
// Expected Output:
// 1)
//      EventSchemaTraceListener CPP Sample
//
//      IsThreadSafe? True
//      BufferSize =  65536
//      MaximumFileSize =  20480000
//      MaximumNumberOfFiles =  2
//      Name =  eventListener
//      TraceLogRetentionOption = LimitedCircularFiles
//      TraceOutputOptions = DateTime, Timestamp, ProcessId
//
//      Press the enter key to exit
//
// 2) An output file is created named TraceOutput.xml.  It will be
//    opened and displayed in Microsoft Notepad.
//
// NOTE 1:
//  Under certain circumstances, the VS C++ compiler will treat
//          Console::WriteLine("MyText = " + MyVar);
//        differently then the VS CSharp compiler.
//        The C++ compiler will produce error C3063, whereas the 
//        CSharp compiler accepts the statement.
//        This occurs when the VS C++ compiler cannot determine the
//        datatype of "MyVar" because it is an enumeration type.
//        The solution is:
//        Use either of the following two methods:
//          Console::WriteLine("MyText = {0} " , MyVar);
//          Console::WriteLine("MyText =  " + MyVar.ToString());
//
//        Although not specific to this particular pieces of code,
//        this is demonstrated below in the Display function:  The
//        last two members, TraceLogRetentionOption, and
//        TraceOutputOptions, are enumerations, and cannot simply be
//        concatenated into Console::WriteLine.
//
///////////////////////////////////////////////////////////////////////
#using <System.dll>
#using <System.Core.dll>

#define NOCONFIGFILE 1
using namespace System;
using namespace System::IO;
using namespace System::Diagnostics;


[STAThreadAttribute]
void main()
{
    Console::WriteLine("EventSchemaTraceListener CPP Sample\n");

    File::Delete("TraceOutput.xml");
    TraceSource ^ ts = gcnew TraceSource("TestSource");


#if NOCONFIGFILE
    ts->Listeners->Add(gcnew EventSchemaTraceListener("TraceOutput.xml",
                            "eventListener", 65536,
                            TraceLogRetentionOption::LimitedCircularFiles,
                            20480000, 2));
    ts->Listeners["eventListener"]->TraceOutputOptions =
                                    TraceOptions::DateTime |
                                    TraceOptions::ProcessId |
                                    TraceOptions::Timestamp;
#endif

    EventSchemaTraceListener ^ ESTL =
               (EventSchemaTraceListener^)(ts->Listeners["eventListener"]);


    Console::WriteLine("IsThreadSafe?            = " + ESTL->IsThreadSafe);
    Console::WriteLine("BufferSize               = " + ESTL->BufferSize);
    Console::WriteLine("MaximumFileSize          = " + ESTL->MaximumFileSize);
    Console::WriteLine("MaximumNumberOfFiles     = " + ESTL->MaximumNumberOfFiles);
    Console::WriteLine("Name                     = " + ESTL->Name);
    Console::WriteLine("TraceLogRetentionOption  = " + ESTL->TraceLogRetentionOption.ToString());
    Console::WriteLine("TraceOutputOptions       = {0}\n", ESTL->TraceOutputOptions);

    ts->Switch->Level = SourceLevels::All;
    String ^ testString = "<Test><InnerElement Val=\"1\" />"
                        + "<InnerElement Val=\"Data\"/>"
                        + "<AnotherElement>11</AnotherElement></Test>";

    UnescapedXmlDiagnosticData ^ unXData = gcnew UnescapedXmlDiagnosticData(testString);
    ts->TraceData(TraceEventType::Error, 38, unXData);
    ts->TraceEvent(TraceEventType::Error, 38, testString);
    ts->Flush();
    ts->Close();

    Process::Start("notepad.exe", "TraceOutput.xml");
    Console::WriteLine("\nPress the enter key to exit");
    Console::ReadLine();
}
#define NOCONFIGFILE
using System;
using System.IO;
using System.Xml;
using System.Xml.XPath;
using System.Diagnostics;

class testClass
{
    [STAThreadAttribute]
    static void Main()
    {
        File.Delete("TraceOutput.xml");
        TraceSource ts = new TraceSource("TestSource");
#if NOCONFIGFILE
        //ts.Listeners.Add(new EventSchemaTraceListener("TraceOutput.xml", "eventListener", 65536, TraceLogRetentionOption.LimitedCircularFiles, 20480000, 2));
        ts.Listeners.Add(new EventSchemaTraceListener("TraceOutput.xml", "eventListener"));
        ts.Listeners["eventListener"].TraceOutputOptions = TraceOptions.DateTime | TraceOptions.ProcessId | TraceOptions.Timestamp;
#endif
        ts.Switch.Level = SourceLevels.All;
        string testString = "<Test><InnerElement Val=\"1\" /><InnerElement Val=\"Data\"/><AnotherElement>11</AnotherElement></Test>";
        UnescapedXmlDiagnosticData unXData = new UnescapedXmlDiagnosticData(testString);
        ts.TraceData(TraceEventType.Error, 38, unXData);
        ts.TraceEvent(TraceEventType.Error, 38, testString);
        Trace.Listeners.Add(new EventSchemaTraceListener("TraceOutput.xml"));
        Trace.Write("test", "test");
        Trace.Flush();
        ts.Flush();
        ts.Close();
        DisplayProperties(ts);
        Process.Start("notepad.exe", "TraceOutput.xml");
        Console.WriteLine("Press the enter key to exit");
        Console.ReadLine();
    }
    private static void DisplayProperties(TraceSource ts)
    {
        Console.WriteLine("IsThreadSafe? " + ((EventSchemaTraceListener)ts.Listeners["eventListener"]).IsThreadSafe);
        Console.WriteLine("BufferSize =  " + ((EventSchemaTraceListener)ts.Listeners["eventListener"]).BufferSize);
        Console.WriteLine("MaximumFileSize =  " + ((EventSchemaTraceListener)ts.Listeners["eventListener"]).MaximumFileSize);
        Console.WriteLine("MaximumNumberOfFiles =  " + ((EventSchemaTraceListener)ts.Listeners["eventListener"]).MaximumNumberOfFiles);
        Console.WriteLine("Name =  " + ((EventSchemaTraceListener)ts.Listeners["eventListener"]).Name);
        Console.WriteLine("TraceLogRetentionOption =  " + ((EventSchemaTraceListener)ts.Listeners["eventListener"]).TraceLogRetentionOption);
        Console.WriteLine("TraceOutputOptions =  " + ((EventSchemaTraceListener)ts.Listeners["eventListener"]).TraceOutputOptions);
    }
}
#Const NOCONFIGFILE = True
Imports System.IO
Imports System.Xml
Imports System.Xml.XPath
Imports System.Diagnostics

Class testClass

    <STAThreadAttribute()> _
    Shared Sub Main()
        File.Delete("TraceOutput.xml")
        Dim ts As New TraceSource("TestSource")
#If NOCONFIGFILE Then
        ts.Listeners.Add(New EventSchemaTraceListener("TraceOutput.xml", "eventListener", 65536, TraceLogRetentionOption.LimitedCircularFiles, 20480000, 2))
        ts.Listeners("eventListener").TraceOutputOptions = TraceOptions.DateTime Or TraceOptions.ProcessId Or TraceOptions.Timestamp
#End If
        ts.Switch.Level = SourceLevels.All
        Dim testString As String = "<Test><InnerElement Val=""1"" /><InnerElement Val=""Data""/><AnotherElement>11</AnotherElement></Test>"
        Dim unXData As New UnescapedXmlDiagnosticData(testString)
        ts.TraceData(TraceEventType.Error, 38, unXData)
        ts.TraceEvent(TraceEventType.Error, 38, testString)
        ts.Flush()
        ts.Close()
        DisplayProperties(ts)
        Process.Start("notepad.exe", "TraceOutput.xml")
        Console.WriteLine("Press the enter key to exit")
        Console.ReadLine()

    End Sub

    Private Shared Sub DisplayProperties(ByVal ts As TraceSource)
        Console.WriteLine("IsThreadSafe? " + CType(ts.Listeners("eventListener"), EventSchemaTraceListener).IsThreadSafe.ToString())
        Console.WriteLine("BufferSize =  " + CType(ts.Listeners("eventListener"), EventSchemaTraceListener).BufferSize.ToString())
        Console.WriteLine("MaximumFileSize =  " + CType(ts.Listeners("eventListener"), EventSchemaTraceListener).MaximumFileSize.ToString())
        Console.WriteLine("MaximumNumberOfFiles =  " + CType(ts.Listeners("eventListener"), EventSchemaTraceListener).MaximumNumberOfFiles.ToString())
        Console.WriteLine("Name =  " + CType(ts.Listeners("eventListener"), EventSchemaTraceListener).Name)
        Console.WriteLine("TraceLogRetentionOption =  " + CType(ts.Listeners("eventListener"), EventSchemaTraceListener).TraceLogRetentionOption.ToString())
        Console.WriteLine("TraceOutputOptions =  " + CType(ts.Listeners("eventListener"), EventSchemaTraceListener).TraceOutputOptions.ToString())
    End Sub
End Class

설명

클래스는 EventSchemaTraceListener 엔드 투 엔드 스키마 규격 이벤트의 추적을 제공합니다. 스레드, AppDomain프로세스 및 컴퓨터 경계를 교차하는 다른 유형의 구성 요소가 있는 시스템에 엔드 투 엔드 추적을 사용할 수 있습니다. 표준화된 이벤트 스키마를 사용하면 이러한 경계를 넘어 추적할 수 있습니다. 스키마를 사용하면 사용자 지정 스키마 규격 요소를 더할 수 있습니다. 서비스 추적 뷰어 도구(SvcTraceViewer.exe)를 사용하여 이벤트 데이터를 표시할 수 있습니다.

EventSchemaTraceListener 는 잠금 없는 추적을 암시적으로 지원하는 로깅 성능을 위해 조정됩니다.

클래스는 EventSchemaTraceListener 추적 및 디버깅 정보를 XML로 인코딩된 텍스트 스트림으로 변환합니다. XML 출력에 대한 설명은 이 섹션의 뒷부분에 있는 표에 나와 있습니다.

코드에서 개체를 EventSchemaTraceListener 만들 수 있습니다. 또는 .NET Framework 앱의 경우 애플리케이션 구성 파일을 통해 개체를 EventSchemaTraceListener 사용하거나 사용하지 않도록 설정한 다음, 애플리케이션에서 구성된 EventSchemaTraceListener 개체를 사용할 수 있습니다. .NET Framework 앱에서 추적 및 디버깅에 구성 파일을 사용하는 방법에 대한 자세한 내용은 추적 및 디버그 설정 스키마를 참조하세요.

.NET Framework 앱에서 개체를 구성 EventSchemaTraceListener 하려면 애플리케이션 이름에 해당하는 구성 파일을 수정합니다. 이 파일에서 수신기의 속성을 추가, 제거 또는 설정할 수 있습니다. 구성 파일의 형식은 다음과 같이 지정해야 합니다.

<configuration>  
    <system.diagnostics>  
        <sources>  
            <source name="TestSource" >  
                <listeners>  
                    <!--Remove the default trace listener for better performance.-->  
                    <remove name="Default"/>  
                    <!--Note: Removing the default trace listener prevents the dialog box   
                    from being displayed for Debug.Fail or Debug.Assert commands that are   
                    executed in user mode.-->  
                    <add name="eventListener"   
                      type="System.Diagnostics.EventSchemaTraceListener,  system.core"  
                      initializeData="TraceOutput.xml"   
                      traceOutputOptions="ProcessId, DateTime, Timestamp"   
                      bufferSize="65536"  
                      maximumFileSize="20480000"  
                      logRetentionOption="LimitedCircularFiles"  
                      maximumNumberOfFiles="2"/>  
                </listeners>  
            </source>  
        </sources>  
    </system.diagnostics>  

클래스는 EventSchemaTraceListener 기본 클래스 TraceListener에서 Filter 속성을 상속합니다. 속성은 Filter 수신기에서 추가 수준의 추적 출력 필터링을 허용합니다. 필터가 있는 Trace 경우 추적 수신기의 메서드는 필터의 메서드를 ShouldTrace 호출하여 추적을 내보할지 여부를 결정합니다.

사용 중이거나 사용할 수 없는 파일에 쓰려고 하면 GUID 접미사가 파일 이름에 자동으로 추가됩니다.

참고

수신기 메서드는 , TraceTraceSource 클래스의 메서드에 Debug의해 호출됩니다. 애플리케이션 코드에서 직접 수신기 메서드를 호출 하지 마십시오. 수신기는 EventSchemaTraceListener 주로 클래스에서 사용하기 위한 것입니다 TraceSource .

다음 표에서는 XML 출력의 요소와 특성에 대해 설명합니다.

요소 특성 출력 참고
CallStack None 속성에 플래그가 있는지 TraceOutputOptions 확인 Callstack 합니다. 또는 < 와 같은 > 특수 문자는 이스케이프 시퀀스로 바뀝니다. 다음 표에서 이스케이프된 문자 번역 테이블을 참조하세요.
Computer None 항상 있습니다. 이 요소는 속성의 MachineName 값을 나타냅니다.
Correlation ActivityID 항상 있습니다. 를 지정하지 않으면 ActivityID 기본값은 빈 GUID입니다.
RelatedActivityID 메서드 호출에서 매개 변수의 relatedActivityId 존재에 Trace 따라 달라집니다. 특성은 RelatedActivityID 메서드의 매개 변수에 relatedActivityId 해당합니다 TraceTransfer .
Data None 항상 있습니다. 이 요소는 매개 변수 입력(data)을 나타냅니다. 각 데이터 개체에 대해 하나의 요소가 제공됩니다. 이벤트 로그의 경우 요소에는 이 Data 스케이프된 XML 데이터가 포함됩니다. 데이터 로그의 경우 요소에는 Data 이스케이프되지 않은 데이터가 포함됩니다. 데이터 로그 출력은 전달된 데이터 개체의 메서드를 사용합니다 ToString .
Event None 항상 있습니다. 이 요소에는 추적 이벤트가 포함됩니다.
EventData None 이벤트 로그에 대해 존재합니다. 이 요소는 매개 변수 입력(message, args)을 나타냅니다. 메서드를 Data 호출 TraceEvent 하여 만든 이스케이프된 XML 데이터가 있는 요소가 포함되어 있습니다.
EventID None 항상 있습니다. 이 요소는 매개 변수 입력(id)을 나타냅니다.
Execution ProcessID 속성에 플래그가 있는지 TraceOutputOptions 확인 ProcessId 합니다. 특성은 ProcessIDTraceEventCache지정됩니다.
ThreadID 가 있을 때 ProcessID 존재합니다. 특성은 ThreadIDTraceEventCache지정됩니다.
Level None 항상 있습니다. 이 요소는 매개 변수 입력(의 숫자 값)을 eventType나타냅니다. 255보다 큰 매개 변수 값은 를 나타내는 수준 8로 출력됩니다 TraceEventType.Information. 추적 이벤트 유형 Critical, Error, Warning, InformationVerbose 는 각각 수준 1, 2, 4, 8 및 10으로 출력됩니다.
LogicalOperationStack None 속성에 플래그가 있는지 TraceOutputOptions 확인 LogicalOperationStack 합니다. 하나의 논리 작업만 존재할 수 있습니다. 따라서 값은 요소 아래에 LogicalOperationStack 노드로 LogicalOperation 기록됩니다.
OpCode None 가 255보다 크면 Level 표시됩니다. 이 요소는 숫자 값이 255보다 큰 Trace 이벤트 형식을 나타냅니다. Start, Stop, Suspend, Resume또는 Transfer 는 각각 수준 1, 2, 4, 8 및 10으로 출력됩니다.
Provider GUID 항상 있습니다. 항상 비어 있습니다.
RenderingInfo Culture 항상 있습니다. 이 특성은 이벤트 유형에 대한 리소스 문자열을 나타냅니다. 항상 "en-EN\"입니다.
System Name 항상 있습니다.
TimeCreated SystemTime 속성에 플래그가 있는지 TraceOutputOptions 확인 DateTime 합니다. 시간은 속성의 값입니다 TraceEventCache.DateTime . 이 속성은 협정 세계시로 표현됩니다.
TimeStamp None 속성에 플래그가 있는지 TraceOutputOptions 확인 Timestamp 합니다. 이 요소는 에 TraceEventCache지정됩니다.
UserData None 데이터 로그에 대해 존재합니다. 이 요소에는 메서드에서 Data 사용자가 제공한 이스케이프되지 않은 데이터가 포함된 TraceData 요소가 포함됩니다.

다음 표에서는 XML 출력에서 이스케이프되는 문자를 보여줍니다. 이스케이프는 사용자가 제공한 이스케이프되지 않은 데이터를 포함하는 요소를 제외한 UserData 모든 요소 및 특성에서 발생합니다. 요소는 UserData 메서드 호출의 결과입니다 TraceData .

이스케이프된 문자
& &
< <
> >
" "
|'
0xD
0xA

생성자

EventSchemaTraceListener(String)

지정된 파일을 디버깅 및 추적 출력의 수신자로 사용하여 EventSchemaTraceListener 클래스의 새 인스턴스를 초기화합니다.

EventSchemaTraceListener(String, String)

지정된 파일을 디버깅 및 추적 출력의 수신자로 사용하여, 지정된 이름으로 EventSchemaTraceListener 클래스의 새 인스턴스를 초기화합니다.

EventSchemaTraceListener(String, String, Int32)

지정된 파일을 디버깅 및 추적 출력의 수신자로 사용하여, 지정된 이름 및 지정된 버퍼 크기로 EventSchemaTraceListener 클래스의 새 인스턴스를 초기화합니다.

EventSchemaTraceListener(String, String, Int32, TraceLogRetentionOption)

지정된 로그 보존 정책이 있는 지정된 파일을 디버깅 및 추적 출력의 수신자로 사용하여, 지정된 이름 및 지정된 버퍼 크기로 EventSchemaTraceListener 클래스의 새 인스턴스를 초기화합니다.

EventSchemaTraceListener(String, String, Int32, TraceLogRetentionOption, Int64)

지정된 로그 보존 정책 및 최대 크기가 있는 지정된 파일을 디버깅 및 추적 출력의 수신자로 사용하여, 지정된 이름 및 지정된 버퍼 크기로 EventSchemaTraceListener 클래스의 새 인스턴스를 초기화합니다.

EventSchemaTraceListener(String, String, Int32, TraceLogRetentionOption, Int64, Int32)

지정된 로그 보존 정책, 최대 크기 및 파일 개수가 있는 지정된 파일을 디버깅 및 추적 출력의 수신자로 사용하여, 지정된 이름 및 지정된 버퍼 크기로 EventSchemaTraceListener 클래스의 새 인스턴스를 초기화합니다.

속성

Attributes

애플리케이션 구성 파일에 정의된 사용자 지정 추적 수신기 특성을 가져옵니다.

(다음에서 상속됨 TraceListener)
BufferSize

출력 버퍼의 크기를 가져옵니다.

Filter

추적 수신기의 추적 필터를 가져오거나 설정합니다.

(다음에서 상속됨 TraceListener)
IndentLevel

들여쓰기 수준을 가져오거나 설정합니다.

(다음에서 상속됨 TraceListener)
IndentSize

들여쓰기의 공백 수를 가져오거나 설정합니다.

(다음에서 상속됨 TraceListener)
IsThreadSafe

추적 수신기가 스레드로부터 안전한지 여부를 나타내는 값을 가져옵니다.

MaximumFileSize

로그 파일의 최대 크기를 가져옵니다.

MaximumNumberOfFiles

로그 파일의 최대 수를 가져옵니다.

Name

TraceListener의 이름을 가져오거나 설정합니다.

(다음에서 상속됨 TraceListener)
NeedIndent

출력의 들여쓰기 여부를 나타내는 값을 가져오거나 설정합니다.

(다음에서 상속됨 TraceListener)
TraceLogRetentionOption

파일에 대한 추적 로그 보존 옵션을 가져옵니다.

TraceOutputOptions

추적 출력 옵션을 가져오거나 설정합니다.

(다음에서 상속됨 TraceListener)
Writer

로그 파일에 쓰는 기본 텍스트 작성기를 가져오거나 설정합니다.

메서드

Close()

추적 또는 디버깅 출력을 더 이상 받지 않도록 이 수신기에 대한 로그 파일을 닫습니다.

CreateObjRef(Type)

원격 개체와 통신하는 데 사용되는 프록시 생성에 필요한 모든 관련 정보가 들어 있는 개체를 만듭니다.

(다음에서 상속됨 MarshalByRefObject)
Dispose()

TraceListener에서 사용하는 모든 리소스를 해제합니다.

(다음에서 상속됨 TraceListener)
Dispose(Boolean)

TextWriterTraceListener 개체를 삭제합니다.

(다음에서 상속됨 TextWriterTraceListener)
Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
Fail(String)

TraceListener 클래스를 구현할 때 생성한 수신기에 오류 메시지를 내보냅니다.

(다음에서 상속됨 TraceListener)
Fail(String, String)

기본 오류 메시지와 자세한 오류 메시지를 포함한 오류 정보를 로그 파일에 씁니다.

Flush()

이 수신기에 대한 로그에 버퍼링된 데이터를 씁니다.

GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetLifetimeService()
사용되지 않음.

이 인스턴스의 수명 정책을 제어하는 현재의 수명 서비스 개체를 검색합니다.

(다음에서 상속됨 MarshalByRefObject)
GetSupportedAttributes()

추적 수신기가 지원하는 사용자 지정 XML 구성 특성을 가져옵니다.

GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
InitializeLifetimeService()
사용되지 않음.

이 인스턴스의 수명 정책을 제어하는 수명 서비스 개체를 가져옵니다.

(다음에서 상속됨 MarshalByRefObject)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
MemberwiseClone(Boolean)

현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다.

(다음에서 상속됨 MarshalByRefObject)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)
TraceData(TraceEventCache, String, TraceEventType, Int32, Object)

로그 파일에 추적 정보, 단일 데이터 개체 및 이벤트 정보를 씁니다.

TraceData(TraceEventCache, String, TraceEventType, Int32, Object[])

로그 파일에 추적 정보, 여러 개의 데이터 개체 및 이벤트 정보를 씁니다.

TraceEvent(TraceEventCache, String, TraceEventType, Int32)

추적 및 이벤트 정보를 수신기별 출력에 씁니다.

(다음에서 상속됨 TraceListener)
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String)

로그 파일에 추적 정보, 메시지 및 이벤트 정보를 씁니다.

TraceEvent(TraceEventCache, String, TraceEventType, Int32, String, Object[])

로그 파일에 추적 정보, 형식이 지정된 메시지 및 이벤트 정보를 씁니다.

TraceTransfer(TraceEventCache, String, Int32, String, Guid)

로그 파일에 관련 작업 ID가 포함된 추적 정보와 메시지, 이벤트 정보를 씁니다.

Write(Object)

ToString() 클래스를 구현할 때 생성한 수신기에 개체의 TraceListener 메서드 값을 씁니다.

(다음에서 상속됨 TraceListener)
Write(Object, String)

ToString() 클래스를 구현할 때 생성한 수신기에 범주 이름 및 개체의 TraceListener 메서드 값을 씁니다.

(다음에서 상속됨 TraceListener)
Write(String)

추가 컨텍스트 정보를 제공하지 않고 로그 파일에 메시지를 씁니다.

Write(String, String)

TraceListener 클래스를 구현할 때 생성한 수신기에 범주 이름 및 메시지를 씁니다.

(다음에서 상속됨 TraceListener)
WriteIndent()

이 클래스를 구현할 때 생성한 수신기에 들여쓰기를 하고 NeedIndent 속성을 false로 다시 설정합니다.

(다음에서 상속됨 TraceListener)
WriteLine(Object)

ToString() 클래스를 구현할 때 생성한 수신기에 개체의 TraceListener 메서드 값을 쓴 다음 줄 종결자를 씁니다.

(다음에서 상속됨 TraceListener)
WriteLine(Object, String)

ToString() 클래스를 구현할 때 생성한 수신기에 범주 이름 및 개체의 TraceListener 메서드 값을 쓴 다음 줄 종결자를 씁니다.

(다음에서 상속됨 TraceListener)
WriteLine(String)

추가 컨텍스트 정보를 제공하지 않고 로그 파일에 메시지와 현재 줄 종결자를 씁니다.

WriteLine(String, String)

TraceListener 클래스를 구현할 때 생성한 수신기에 범주 이름 및 메시지를 쓴 다음 줄 종결자를 씁니다.

(다음에서 상속됨 TraceListener)

적용 대상