TraceFilter.ShouldTrace Methode

Definition

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

Boolean

true, um das angegebene Ereignis zu verfolgen, andernfalls false.

Beispiele

Im folgenden Codebeispiel wird gezeigt, wie sie die ShouldTrace Methode außer Kraft setzen, um die Ablaufverfolgung anzugeben, 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ü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 übergeben kann, den eventType Parameter überprüfen und zurückgeben true , wenn die Ereignistypebene auf oder höher festgelegt Error ist. Andernfalls sollte er zurückgegeben werden false.

Implementierungen der Methode sollten in null den folgenden Parametern behandelt werden: args, , formatOrMessagedata1dataund .cache Wenn der Parameterwert lautet, ist nullder Parameter nicht Teil des Ereignisses. Wenn der Parameter nullbeispielsweise lautet, bedeutet dies, dass das args Ereignis keine Argumente enthält. Wenn der data Parameter lautet, gibt nulles entweder eine oder keine Datenobjekte. Wenn ein Datenobjekt vorhanden ist, wird es im data1 Parameter gefunden. Der Grund für den Unterschied zwischen einem einzelnen Datenobjekt und einem Array von Datenobjekten ist für die Leistung. Es gibt keinen Grund, ein Objektarray zu erstellen, wenn nur ein Objekt nachverfolgt wird, wie es normalerweise der Fall ist. Wenn der Parameter nicht ist, darf der data data1 Parameter auch nicht nullseinnull.

Es ist garantiert, dass der source Parameter nicht und keine null leere Zeichenfolge ("") ist.

Implementierungen der Methode können optional die folgenden Ausnahmen auslösen:

Gilt für: