TraceFilter.ShouldTrace 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
파생 클래스에서 재정의된 경우 추적 수신기에서 이벤트를 추적해야 하는지 여부를 확인합니다.
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
해야 합니다.
메서드의 구현은 , data1
data
formatOrMessage
및 cache
매개 변수args
에서 처리 null
하도록 준비해야 합니다. 매개 변수 값이 인 null
경우 매개 변수는 이벤트의 일부가 아닙니다. 예를 들어 매개 변수가 args
null
이면 이벤트에 인수가 없음을 의미합니다. 매개 변수가 data
null
이면 데이터 개체가 하나 또는 전혀 없습니다. 데이터 개체가 하나 있으면 매개 변수에서 data1
찾을 수 있습니다. 단일 데이터 개체와 데이터 개체 배열을 구분하는 이유는 성능 때문입니다. 일반적으로와 같이 하나의 개체만 추적되는 경우 개체 배열을 만들 이유가 없습니다. 매개 변수가 이 data
아니면 null
매개 변수도 이 data1
아니어야 null
합니다.
매개 변수가 source
비어 있지 않고 null
빈 문자열("")이 아님을 보장합니다.
메서드의 구현은 필요에 따라 다음 예외를 throw할 수 있습니다.
source
가null
이면 ArgumentNullException입니다.ArgumentException 가
eventType
값 중 하나가 아니면 입니다 TraceEventType .메서드 구현과 관련이 없는 예외입니다. 예를 들어 입니다 ThreadAbortException.
적용 대상
.NET