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.
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:
ArgumentNullException se
sourceènull.ArgumentException se
eventTypenon è uno dei TraceEventType valori .Eccezioni non correlate all'implementazione del metodo . Ad esempio, un oggetto ThreadAbortException.