TraceFilter.ShouldTrace Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Quando sobrescrito numa classe derivada, determina se o ouvinte de traço deve traçar 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);
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ção para o evento de rastreamento.
- source
- String
O nome da fonte.
- eventType
- TraceEventType
Um dos TraceEventType valores especifica o tipo de evento que causou o rasto.
- id
- Int32
Um número de identificador de rastreio.
- formatOrMessage
- String
Ou o formato a usar para escrever um array de argumentos especificados pelo args parâmetro, ou uma mensagem a escrever.
- args
- Object[]
Um conjunto de objetos argumentativos.
- data1
- Object
Um objeto de dados de rastreio.
- data
- Object[]
Um array de objetos de dados de traço.
Devoluções
true para traçar o evento especificado; caso contrário, false.
Exemplos
O seguinte exemplo de código mostra como sobrescrever o ShouldTrace método para indicar que o rastreamento deve ocorrer quando o tipo de evento de rastreio do evento é igual a 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 para Implementadores
As implementações deste método devem devolver true se o evento especificado pelos parâmetros passados for rastreado. Caso contrário, o método deverá devolver false. Por exemplo, um filtro que permita apenas a passagem de eventos de erro para o ouvinte deve inspecionar o eventType parâmetro e devolver true se o nível do tipo de evento de traço estiver definido como Error ou superior; caso contrário, deve devolver false.
As implementações do método devem estar preparadas para lidar null com 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, significa que o evento não tem quaisquer argumentos. Se o data parâmetro for null, então existem um ou nenhum objeto de dados. Se existir um objeto de dados, será encontrado no data1 parâmetro. A razão para a distinção entre um único objeto de dados e um array de objetos de dados é o desempenho. Não há razão para criar um array de objetos se apenas um objeto for traçado, como é normal. Se o data parâmetro não nullfor , o data1 parâmetro também não pode ser null.
É garantido que o source parâmetro não null é e não é uma cadeia vazia ("").
As implementações do método podem, opcionalmente, lançar as seguintes exceções:
ArgumentNullException se
sourcefornull.ArgumentException se
eventTypenão é um dos TraceEventType valores.Exceções não relacionadas com a implementação do método. Por exemplo, um ThreadAbortException.