TraceFilter.ShouldTrace Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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:
ArgumentNullException se
sourceènull.ArgumentException se
eventTypenon è uno dei TraceEventType valori .Eccezioni non correlate all'implementazione del metodo . Ad esempio, un oggetto ThreadAbortException.