TraceFilter.ShouldTrace Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
, formatOrMessage
y 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 null
es , 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:
ArgumentNullException si
source
esnull
.ArgumentException si
eventType
no es uno de los TraceEventType valores.Excepciones no relacionadas con la implementación del método . Por ejemplo, .ThreadAbortException