Partager via


TraceFilter.ShouldTrace Méthode

Définition

En cas de substitution dans une classe dérivée, détermine si l'écouteur doit tracer l'événement.

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

Paramètres

cache
TraceEventCache

TraceEventCache qui contient des informations pour l'événement de trace.

source
String

Nom de la source.

eventType
TraceEventType

Une des valeurs de TraceEventType spécifiant le type d'événement qui a déclenché la trace.

id
Int32

Numéro d'identification de trace.

formatOrMessage
String

Format à utiliser pour écrire un tableau d'arguments spécifié par le paramètre args, ou un message à écrire.

args
Object[]

Tableau d'objets d'argument.

data1
Object

Objet des données de trace.

data
Object[]

Tableau des objets de données de trace.

Retours

true pour tracer l'événement spécifié ; sinon, false.

Exemples

L’exemple de code suivant montre comment remplacer la méthode pour indiquer que le ShouldTrace suivi doit se produire lorsque le type d’événement de trace de l’événement est égal à 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

Notes pour les responsables de l’implémentation

Les implémentations de cette méthode doivent être retournées true si l’événement spécifié par les paramètres passés doit être suivi. Sinon, la méthode doit retourner false. Par exemple, un filtre qui autorise uniquement les événements d’erreur à passer à l’écouteur doit inspecter le eventType paramètre et retourner true si le niveau de type d’événement de trace est défini Error sur ou supérieur ; sinon, il doit retourner false.

Les implémentations de la méthode doivent être préparées pour être gérées null dans les paramètres suivants : args, data1, data, formatOrMessageet cache. Si la valeur du paramètre est null, le paramètre ne fait pas partie de l’événement. Par exemple, si le args paramètre est null, cela signifie que l’événement n’a pas d’arguments. Si le data paramètre est null, il existe un ou aucun objet de données. S’il existe un objet de données, il se trouve dans le data1 paramètre . La raison de la distinction entre un objet de données unique et un tableau d’objets de données tient aux performances. Il n’y a aucune raison de créer un tableau d’objets si un seul objet est suivi, comme c’est normalement le cas. Si le data paramètre n’est pas null, le data1 paramètre ne doit pas non plus être null.

Il est garanti que le source paramètre n’est pas null une chaîne vide («  »).

Les implémentations de la méthode peuvent éventuellement lever les exceptions suivantes :

S’applique à