TraceFilter.ShouldTrace(TraceEventCache, String, TraceEventType, Int32, String, Object[], Object, Object[]) Metodo

Definizione

Quando sottoposto a override in una classe derivata, stabilisce se il listener di traccia deve tracciare l'evento.When overridden in a derived class, determines whether the trace listener should trace the event.

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

Classe TraceEventCache che contiene informazioni per l'evento di traccia.The TraceEventCache that contains information for the trace event.

source
String

Nome dell'origine.The name of the source.

eventType
TraceEventType

Uno dei valori di TraceEventType che specifica il tipo di evento che ha causato la traccia.One of the TraceEventType values specifying the type of event that has caused the trace.

id
Int32

Numero identificativo della traccia.A trace identifier number.

formatOrMessage
String

Formato da utilizzare per la scrittura di una matrice di argomenti specificata dal parametro args oppure messaggio da scrivere.Either the format to use for writing an array of arguments specified by the args parameter, or a message to write.

args
Object[]

Matrice di oggetti argomento.An array of argument objects.

data1
Object

Oggetto dati di traccia.A trace data object.

data
Object[]

Matrice di oggetti dati di traccia.An array of trace data objects.

Restituisce

true per tracciare l'evento specificato; in caso contrario, false.true to trace the specified event; otherwise, false.

Esempi

Nell'esempio di codice seguente viene illustrato come eseguire ShouldTrace l'override del metodo per indicare che la traccia deve verificarsi quando il tipo di evento di TraceEventType.Errortraccia dell'evento è uguale a.The following code example shows how to override the ShouldTrace method to indicate tracing should occur when the trace event type of the event is equal to 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 true restituire se l'evento specificato dai parametri passati deve essere tracciato.Implementations of this method should return true if the event specified by the passed parameters should be traced. In caso contrario, il falsemetodo deve restituire.Otherwise the method should return false. Ad esempio, un filtro che consente di passare al listener solo gli eventi di errore deve esaminare il eventType parametro e restituire true se il livello del tipo di evento di traccia Error è impostato su o su un valore maggiore false; in caso contrario, deve restituire.For example, a filter that allows only error events to pass through to the listener should inspect the eventType parameter and return true if the trace event type level is set to Error or greater; otherwise, it should return false.

Le implementazioni del metodo devono essere preparate per null la gestione nei parametri seguenti args: data1, data, formatOrMessage, e cache.Implementations of the method should be prepared to handle null in the following parameters: args, data1, data, formatOrMessage, and cache. Se il valore del parametro nullè, il parametro non fa parte dell'evento.If the parameter value is null, the parameter is not part of the event. Se, ad esempio, args il parametro nullè, significa che l'evento non contiene argomenti.For example, if the args parameter is null, it means that the event does not have any arguments. Se il data parametro è null, sono presenti uno o nessun oggetto dati.If the data parameter is null, then there are either one or no data objects. Se è presente un oggetto dati, questo verrà trovato nel data1 parametro.If there is one data object, it will be found in the data1 parameter. Il motivo della distinzione tra un singolo oggetto dati e una matrice di oggetti dati è per le prestazioni.The reason for the distinction between a single data object and an array of data objects is for performance. Non esiste alcun motivo per creare una matrice di oggetti se viene tracciato un solo oggetto, come avviene in genere nel caso.There is no reason to create an object array if only one object is traced, as is normally the case. Se il data parametro non nullè, anche data1 il parametro non deve essere null.If the data parameter is not null, the data1 parameter must also not be null.

Si garantisce che il source parametro non null sia e non sia una stringa vuota ("").It is guaranteed that the source parameter is not null and not an empty string ("").

Le implementazioni del metodo possono generare facoltativamente le eccezioni seguenti:Implementations of the method can optionally throw the following exceptions:

  • ArgumentNullException if source is null.

  • ArgumentExceptionSe eventType non è uno TraceEventType dei valori di.
  • ArgumentException if eventType is not one of the TraceEventType values.
  • : Eccezioni non correlate all'implementazione del metodo.- Exceptions unrelated to the implementation of the method. Ad esempio, un ThreadAbortExceptionoggetto.For example, a ThreadAbortException.

    Si applica a