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
, 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 è 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
eventType
non è uno dei TraceEventType valori .Eccezioni non correlate all'implementazione del metodo . Ad esempio, un oggetto ThreadAbortException.