TraceFilter.ShouldTrace Methode

Definitie

Wanneer deze wordt overschreven in een afgeleide klasse, bepaalt u of de traceringslistener de gebeurtenis moet traceren.

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

Parameters

cache
TraceEventCache

De TraceEventCache informatie die informatie bevat voor de tracerings gebeurtenis.

source
String

De naam van de bron.

eventType
TraceEventType

Een van de TraceEventType waarden die het type gebeurtenis opgeven dat de tracering heeft veroorzaakt.

id
Int32

Een tracerings-idnummer.

formatOrMessage
String

De indeling die moet worden gebruikt voor het schrijven van een matrix met argumenten die zijn opgegeven door de args parameter, of een bericht dat moet worden geschreven.

args
Object[]

Een matrix van argumentobjecten.

data1
Object

Een traceringsgegevensobject.

data
Object[]

Een matrix van traceringsgegevensobjecten.

Retouren

true om de opgegeven gebeurtenis te traceren; anders, false.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u de ShouldTrace methode overschrijft om aan te geven dat tracering moet plaatsvinden wanneer het traceringsgebeurtenistype van de gebeurtenis gelijk is aan 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

Notities voor uitvoerders

Implementaties van deze methode moeten worden geretourneerd true als de gebeurtenis die is opgegeven door de doorgegeven parameters moet worden getraceerd. Anders moet de methode worden geretourneerd false. Een filter dat bijvoorbeeld alleen foutevenementen toestaat om door te geven aan de listener, moet de eventType parameter inspecteren en retourneren true als het niveau van het traceer-gebeurtenistype is ingesteld Error op of hoger, anders moet deze worden geretourneerd false.

Implementaties van de methode moeten worden voorbereid voor verwerking null in de volgende parameters: args, data1, data, formatOrMessage, en cache. Als de parameterwaarde is null, maakt de parameter geen deel uit van de gebeurtenis. Als de args parameter bijvoorbeeld is null, betekent dit dat de gebeurtenis geen argumenten heeft. Als de data parameter is null, zijn er een of geen gegevensobjecten. Als er één gegevensobject is, wordt dit gevonden in de data1 parameter. De reden voor het onderscheid tussen één gegevensobject en een matrix met gegevensobjecten is voor prestaties. Er is geen reden om een objectmatrix te maken als slechts één object wordt getraceerd, zoals normaal gesproken het geval is. Als de data parameter niet nullis, mag de data1 parameter ook niet zijn null.

Het is gegarandeerd dat de source parameter niet null en geen lege tekenreeks ("") is.

Implementaties van de methode kunnen eventueel de volgende uitzonderingen genereren:

Van toepassing op