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.
Wenn sie in einer abgeleiteten Klasse überschrieben wird, wird bestimmt, ob der Ablaufverfolgungslistener das Ereignis nachverfolgen 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);
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
Die TraceEventCache Informationen für das Ablaufverfolgungsereignis.
- source
- String
Der Name der Quelle.
- eventType
- TraceEventType
Einer der TraceEventType Werte, der den Ereignistyp angibt, der die Ablaufverfolgung verursacht hat.
- id
- Int32
Eine Ablaufverfolgungs-ID.A trace identifier number.
- formatOrMessage
- String
Entweder das Format, das zum Schreiben eines Arrays von Argumenten verwendet werden soll, die args vom Parameter angegeben werden, oder eine Nachricht, die geschrieben werden soll.
- args
- Object[]
Ein Array von Argumentobjekten.
- data1
- Object
Ein Ablaufverfolgungsdatenobjekt.
- data
- Object[]
Ein Array von Ablaufverfolgungsdatenobjekten.
Gibt zurück
trueum das angegebene Ereignis nachzuverfolgen; andernfalls . false
Beispiele
Das folgende Codebeispiel zeigt, wie die ShouldTrace Methode außer Kraft setzt, um anzugeben, dass die Ablaufverfolgung erfolgen soll, wenn der Ablaufverfolgungsereignistyp des Ereignisses gleich TraceEventType.Errorist.
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ückgegeben true werden, wenn das durch die übergebenen Parameter angegebene Ereignis nachverfolgt werden soll. Andernfalls sollte die Methode zurückgegeben werden false. Beispielsweise sollte ein Filter, der nur Fehlerereignisse an den Listener übergibt, den eventType Parameter prüfen und zurückgeben true , wenn die Ablaufverfolgungsereignistypebene auf Error oder höher festgelegt ist. Andernfalls sollte sie zurückgegeben werden false.
Implementierungen der Methode sollten in den folgenden Parametern behandelt null werden: args, , data1, , data, formatOrMessageund cache. Wenn der Parameterwert lautet 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 lautet 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 nullangegeben ist, darf der data1 Parameter auch nicht sein null.
Es ist garantiert, dass der source Parameter keine null leere Zeichenfolge ("") ist.
Implementierungen der Methode können optional die folgenden Ausnahmen auslösen:
ArgumentNullException if
sourceisnull.ArgumentException if
eventTypeis not one of the TraceEventType values.Ausnahmen, die nicht mit der Implementierung der Methode zusammenhängen. Beispiel: ein ThreadAbortException.