Share via


TraceFilter.ShouldTrace Método

Definição

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, formatOrMessagee 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 nullfor , 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:

Aplica-se a