다음을 통해 공유


TraceFilter.ShouldTrace 메서드

정의

파생 클래스에서 재정의된 경우 추적 수신기에서 이벤트를 추적해야 하는지 여부를 확인합니다.

public:
 abstract bool ShouldTrace(System::Diagnostics::TraceEventCache ^ cache, System::String ^ source, System::Diagnostics::TraceEventType eventType, int id, System::String ^ formatOrMessage, cli::array <System::Object ^> ^ args, System::Object ^ data1, cli::array <System::Object ^> ^ data);
public abstract bool ShouldTrace (System.Diagnostics.TraceEventCache? cache, string source, System.Diagnostics.TraceEventType eventType, int id, string? formatOrMessage, object?[]? args, object? data1, object?[]? data);
public abstract bool ShouldTrace (System.Diagnostics.TraceEventCache cache, string source, System.Diagnostics.TraceEventType eventType, int id, string formatOrMessage, object[] args, object data1, object[] data);
abstract member ShouldTrace : System.Diagnostics.TraceEventCache * string * System.Diagnostics.TraceEventType * int * string * obj[] * obj * obj[] -> bool
Public MustOverride Function ShouldTrace (cache As TraceEventCache, source As String, eventType As TraceEventType, id As Integer, formatOrMessage As String, args As Object(), data1 As Object, data As Object()) As Boolean

매개 변수

cache
TraceEventCache

추적 이벤트에 대한 정보가 들어 있는 TraceEventCache입니다.

source
String

소스의 이름입니다.

eventType
TraceEventType

추적을 발생시킨 이벤트의 형식을 지정하는 TraceEventType 값 중 하나입니다.

id
Int32

추적 식별자 번호입니다.

formatOrMessage
String

args 매개 변수에 지정된 인수 배열을 쓰는 데 사용할 형식이거나 쓸 메시지입니다.

args
Object[]

인수 개체로 이루어진 배열입니다.

data1
Object

추적 데이터 개체입니다.

data
Object[]

추적 데이터 개체로 이루어진 배열입니다.

반환

지정된 이벤트를 추적하려면 true이고, 그렇지 않으면 false입니다.

예제

다음 코드 예제를 재정의 ShouldTrace 하는 방법을 보여 집니다는 추적이 발생 해야 이벤트의 추적 이벤트 형식이 같을 때 발생 함을 나타내기 위해 TraceEventType.Error메서드를 합니다.

public ref class ErrorFilter : TraceFilter
{
public:
    virtual bool ShouldTrace(TraceEventCache^ cache, String^ source,
        TraceEventType eventType, int id, String^ formatOrMessage,
        array<Object^>^ args, Object^ data, array<Object^>^ dataArray) override
    {
        return eventType == TraceEventType::Error;
    }
};
public class ErrorFilter : TraceFilter
{
    override public bool ShouldTrace(TraceEventCache cache, string source,
        TraceEventType eventType, int id, string formatOrMessage,
        object[] args, object data, object[] dataArray)
    {
        return eventType == TraceEventType.Error;
    }
}
Public Class ErrorFilter
    Inherits TraceFilter

    Public Overrides Function ShouldTrace ( cache As TraceEventCache, _
                source As String, eventType As TraceEventType, _
                id As Integer, formatOrMessage As String, _
                args As Object(), data As Object, _
                dataArray As Object() ) As Boolean
        If eventType = TraceEventType.Error Then
            Return True
        Else
            Return False
        End If
    End Function
End Class

구현자 참고

이 메서드의 구현은 전달된 매개 변수로 지정된 이벤트를 추적해야 하는 경우 를 반환 true 해야 합니다. 그렇지 않으면 메서드는 를 반환 false해야 합니다. 예를 들어 오류 이벤트만 수신기로 전달할 수 있도록 하는 필터는 매개 변수를 검사 eventType 하고 추적 이벤트 유형 수준이 이상으로 설정된 Error 경우 를 반환 true 해야 합니다. 그렇지 않으면 를 반환false해야 합니다.

메서드의 구현은 , data1dataformatOrMessagecache매개 변수args에서 처리 null 하도록 준비해야 합니다. 매개 변수 값이 인 null경우 매개 변수는 이벤트의 일부가 아닙니다. 예를 들어 매개 변수가 argsnull이면 이벤트에 인수가 없음을 의미합니다. 매개 변수가 datanull이면 데이터 개체가 하나 또는 전혀 없습니다. 데이터 개체가 하나 있으면 매개 변수에서 data1 찾을 수 있습니다. 단일 데이터 개체와 데이터 개체 배열을 구분하는 이유는 성능 때문입니다. 일반적으로와 같이 하나의 개체만 추적되는 경우 개체 배열을 만들 이유가 없습니다. 매개 변수가 이 data 아니면 null매개 변수도 이 data1 아니어야 null합니다.

매개 변수가 source 비어 있지 않고 null 빈 문자열("")이 아님을 보장합니다.

메서드의 구현은 필요에 따라 다음 예외를 throw할 수 있습니다.

적용 대상