Compartir a través de


TraceFilter.ShouldTrace Método

Definición

Cuando se reemplaza en una clase derivada, determina si el agente de escucha de seguimiento debe realizar un seguimiento del 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

Parámetros

cache
TraceEventCache

TraceEventCache que contiene información para el evento de seguimiento.

source
String

Nombre del origen.

eventType
TraceEventType

Uno de los valores de TraceEventType que indican el tipo de evento que provocó el seguimiento.

id
Int32

Número del identificador de seguimiento.

formatOrMessage
String

Formato que se va a utilizar para escribir una matriz de argumentos especificada por el parámetro args o un mensaje que se va a escribir.

args
Object[]

Matriz de objetos de argumento.

data1
Object

Objeto de datos de seguimiento.

data
Object[]

Matriz de objetos de datos de seguimiento.

Devoluciones

Es true para realizar un seguimiento del evento especificado; en caso contrario, es false.

Ejemplos

En el ejemplo de código siguiente se muestra cómo invalidar el ShouldTrace método para indicar que el seguimiento debe producirse cuando el tipo de evento de seguimiento del evento es igual 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

Notas a los implementadores

Las implementaciones de este método deben devolverse true si se debe realizar un seguimiento del evento especificado por los parámetros pasados. De lo contrario, el método debe devolver false. Por ejemplo, un filtro que permite que solo los eventos de error pasen al agente de escucha deben inspeccionar el eventType parámetro y devolver true si el nivel de tipo de evento de seguimiento está establecido Error en o superior; de lo contrario, debe devolver false.

Las implementaciones del método deben estar preparadas para controlar null en los parámetros siguientes: args, data1, data, formatOrMessagey cache. Si el valor del parámetro es null, el parámetro no forma parte del evento. Por ejemplo, si el args parámetro es null, significa que el evento no tiene ningún argumento. Si el data parámetro es null, hay uno o ningún objeto de datos. Si hay un objeto de datos, se encontrará en el data1 parámetro . El motivo de la distinción entre un único objeto de datos y una matriz de objetos de datos es para el rendimiento. No hay ninguna razón para crear una matriz de objetos si solo se realiza un seguimiento de un objeto, como suele ser el caso. Si el data parámetro no nulles , el data1 parámetro tampoco debe ser null.

Se garantiza que el source parámetro no null es y no una cadena vacía ("").

Las implementaciones del método pueden producir opcionalmente las siguientes excepciones:

Se aplica a