TraceFilter.ShouldTrace Metodo

Definizione

In caso di override in una classe derivata, determina 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);
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

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

source
String

Nome dell'origine.

eventType
TraceEventType

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

id
Int32

Numero di identificatore di traccia.

formatOrMessage
String

Formato da utilizzare per scrivere una matrice di argomenti specificati dal args parametro o un messaggio da scrivere.

args
Object[]

Matrice di oggetti argomento.

data1
Object

Oggetto dati di traccia.

data
Object[]

Matrice di oggetti dati di traccia.

Valori restituiti

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 la traccia deve verificarsi quando il tipo di evento di traccia dell'evento è uguale a 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, data1data, formatOrMessage, e 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 è relativo alle prestazioni. Non esiste alcun motivo per creare una matrice di oggetti se viene tracciato un solo oggetto, come accade normalmente. 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