TraceFilter.ShouldTrace Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Bestimmt beim Überschreiben in einer abgeleiteten Klasse, ob der Ablaufverfolgungslistener eine Ablaufverfolgung für das Ereignis durchführen soll.
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
Parameter
- cache
- TraceEventCache
Der TraceEventCache, der Informationen für das Ablaufverfolgungsereignis enthält.
- source
- String
Der Name der Quelle.
- eventType
- TraceEventType
Einer der TraceEventType-Werte, der den Typ des Ereignisses angibt, das die Ablaufverfolgung verursacht hat.
- id
- Int32
Eine Ablaufverfolgungs-Bezeichnernummer.
- formatOrMessage
- String
Entweder das Format, das für das Schreiben eines Arrays von Argumenten verwendet werden soll, die vom args
-Parameter angegeben werden, oder eine zu schreibende Meldung.
- args
- Object[]
Ein Array von Argumentobjekten.
- data1
- Object
Ein Ablaufverfolgungs-Datenobjekt.
- data
- Object[]
Ein Array von Ablaufverfolgungs-Datenobjekten.
Gibt zurück
true
, um das angegebene Ereignis zu verfolgen, andernfalls false
.
Beispiele
Im folgenden Codebeispiel wird gezeigt, wie die -Methode überschrieben wird, um anzugeben, dass die ShouldTrace Ablaufverfolgung erfolgen sollte, wenn der Ablaufverfolgungsereignistyp des Ereignisses gleich TraceEventType.Errorist.
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
Hinweise für Ausführende
Implementierungen dieser Methode sollten zurückgeben true
, wenn das von den übergebenen Parametern angegebene Ereignis nachverfolgt werden soll. Andernfalls sollte die -Methode zurückgeben false
. Beispielsweise sollte ein Filter, der nur Fehlerereignisse an den Listener übergeben lässt, den eventType
Parameter überprüfen und zurückgeben true
, wenn die Ablaufverfolgungsereignistypebene auf Error oder höher festgelegt ist. Andernfalls sollte zurückgegeben false
werden.
Implementierungen der -Methode sollten für die Verarbeitung null
in den folgenden Parametern vorbereitet werden: args
, data1
, data
, formatOrMessage
und cache
. Wenn der Parameterwert ist null
, ist der Parameter nicht Teil des Ereignisses. Wenn der args
Parameter beispielsweise lautet null
, bedeutet dies, dass das Ereignis keine Argumente enthält. Wenn der data
Parameter ist null
, gibt es entweder ein oder keine Datenobjekte. Wenn ein Datenobjekt vorhanden ist, wird es im data1
-Parameter gefunden. Der Grund für die Unterscheidung zwischen einem einzelnen Datenobjekt und einem Array von Datenobjekten ist die Leistung. Es gibt keinen Grund, ein Objektarray zu erstellen, wenn nur ein Objekt nachverfolgt wird, wie es normalerweise der Fall ist. Wenn der data
Parameter nicht null
ist, darf der data1
Parameter auch nicht sein null
.
Es ist garantiert, dass der source
Parameter nicht null
und keine leere Zeichenfolge ("") ist.
Implementierungen der -Methode können optional die folgenden Ausnahmen auslösen:
ArgumentNullException, wenn
source
null
ist.ArgumentException , wenn
eventType
keiner der TraceEventType Werte ist.Ausnahmen, die nichts mit der Implementierung der -Methode zu tun haben. Beispiel: .ThreadAbortException