TraceFilter.ShouldTrace Método

Definição

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:

Aplica-se a