TraceFilter.ShouldTrace Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Quando substituído em uma classe derivada, determina se o ouvinte de rastreamento deve rastrear o 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
O TraceEventCache que contém informações sobre o evento de rastreamento.
- source
- String
O nome da fonte.
- eventType
- TraceEventType
Um dos valores TraceEventType que especifica o tipo de evento que causou o rastreamento.
- id
- Int32
Um número de identificador de rastreamento.
- formatOrMessage
- String
O formato a ser usado para gravar uma matriz de argumentos especificada pelo parâmetro args
ou uma mensagem a ser gravada.
- args
- Object[]
Uma matriz de objetos de argumento.
- data1
- Object
Um objeto de dados de rastreamento.
- data
- Object[]
Uma matriz de objetos de dados de rastreamento.
Retornos
true
para rastrear o evento especificado; caso contrário, false
.
Exemplos
O exemplo de código a seguir mostra como substituir o método para indicar que o ShouldTrace rastreamento deve ocorrer quando o tipo de evento de rastreamento do evento é 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 aos Implementadores
As implementações desse método devem retornar true
se o evento especificado pelos parâmetros passados deve ser rastreado. Caso contrário, o método deverá retornar false
. Por exemplo, um filtro que permite que apenas eventos de erro passem para o ouvinte deve inspecionar o eventType
parâmetro e retornar true
se o nível de tipo de evento de rastreamento estiver definido Error como ou maior; caso contrário, ele deverá retornar false
.
As implementações do método devem ser preparadas para lidar com null
os seguintes parâmetros: args
, data1
, data
, formatOrMessage
e cache
. Se o valor do parâmetro for null
, o parâmetro não faz parte do evento. Por exemplo, se o args
parâmetro for null
, isso significa que o evento não tem argumentos. Se o data
parâmetro for null
, haverá um ou nenhum objeto de dados. Se houver um objeto de dados, ele será encontrado no data1
parâmetro . O motivo da distinção entre um único objeto de dados e uma matriz de objetos de dados é o desempenho. Não há motivo para criar uma matriz de objetos se apenas um objeto for rastreado, como normalmente é o caso. Se o data
parâmetro não null
for , o data1
parâmetro também não deverá ser null
.
É garantido que o source
parâmetro não null
é nem uma cadeia de caracteres vazia ("").
As implementações do método podem, opcionalmente, gerar as seguintes exceções:
ArgumentNullException se
source
fornull
.ArgumentException se
eventType
não for um dos TraceEventType valores.Exceções não relacionadas à implementação do método . Por exemplo, um ThreadAbortException.