TraceFilter.ShouldTrace Metodo

Definizione

Quando sottoposto a override in una classe derivata, stabilisce se il listener di traccia deve tracciare l'evento.

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

Parametri

cache
TraceEventCache

Classe TraceEventCache che contiene informazioni per l'evento di traccia.

source
String

Nome dell'origine.

eventType
TraceEventType

Uno dei valori di TraceEventType che specifica il tipo di evento che ha causato la traccia.

id
Int32

Numero identificativo della traccia.

formatOrMessage
String

Formato da utilizzare per la scrittura di una matrice di argomenti specificata dal parametro args oppure messaggio da scrivere.

args
Object[]

Matrice di oggetti argomento.

data1
Object

Oggetto dati di traccia.

data
Object[]

Matrice di oggetti dati di traccia.

Restituisce

true per tracciare l'evento specificato; in caso contrario, false.

Esempio

Nell'esempio di codice seguente viene illustrato come eseguire l'override del ShouldTrace metodo per indicare che deve verificarsi la traccia quando il tipo di evento di traccia dell'evento è uguale a 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

Note per gli implementatori

Le implementazioni di questo metodo devono restituire true se l'evento specificato dai parametri passati deve essere tracciato. In caso contrario, il metodo deve restituire false. Ad esempio, un filtro che consente solo agli eventi di errore di passare al listener deve esaminare il eventType parametro e restituire true se il livello del tipo di evento di traccia è impostato su Error o superiore; in caso contrario, deve restituire false.

Le implementazioni del metodo devono essere preparate per gestire null nei parametri seguenti: args, data1, data, formatOrMessagee cache. Se il valore del parametro è null, il parametro non fa parte dell'evento. Ad esempio, se il args parametro è null, significa che l'evento non ha argomenti. Se il data parametro è null, sono presenti uno o nessun oggetto dati. Se è presente un oggetto dati, questo verrà trovato nel data1 parametro . Il motivo della distinzione tra un singolo oggetto dati e una matrice di oggetti dati è per le prestazioni. Non c'è motivo di creare una matrice di oggetti se viene tracciato un solo oggetto, come in genere accade. Se il data parametro non nullè , anche il data1 parametro non deve essere null.

È garantito che il source parametro non null sia e non una stringa vuota ("").

Le implementazioni del metodo possono facoltativamente generare le eccezioni seguenti:

Si applica a