TraceFilter.ShouldTrace メソッド

定義

派生クラスでオーバーライドされると、トレース リスナーがイベントをトレースする必要があるかどうかを判断します。

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

パラメーター

cache
TraceEventCache

トレース イベントの情報を含む TraceEventCache

source
String

ソースの名前。

eventType
TraceEventType

トレースの原因となったイベントの種類を指定する TraceEventType 値の 1 つ。

id
Int32

トレース識別子番号。

formatOrMessage
String

args パラメーターで指定された引数の配列の書き込みに使用する形式または書き込むメッセージ。

args
Object[]

引数オブジェクトの配列。

data1
Object

トレース データ オブジェクト。

data
Object[]

トレース データ オブジェクトの配列。

返品

true 指定されたイベントをトレースする場合。それ以外の場合は false

次のコード例は、 ShouldTrace メソッドをオーバーライドして、イベントのトレース イベントの種類が 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

注意 (実装者)

渡されたパラメーターで指定されたイベントをトレースする必要がある場合、このメソッドの実装は true を返す必要があります。 それ以外の場合、メソッドは falseを返す必要があります。 たとえば、エラー イベントのみがリスナーに渡されるようにするフィルターでは、eventType パラメーターを検査し、トレース イベントの種類レベルが true 以上に設定されている場合はErrorを返す必要があります。それ以外の場合は、falseを返す必要があります。

メソッドの実装は、nullargsdata1data、およびformatOrMessageのパラメーターでcacheを処理するように準備する必要があります。 パラメーター値が null場合、パラメーターはイベントの一部ではありません。 たとえば、 args パラメーターが null場合は、イベントに引数がないことを意味します。 data パラメーターがnullの場合、データ オブジェクトが 1 つまたはまったく存在しません。 1 つのデータ オブジェクトがある場合は、 data1 パラメーターで見つかります。 単一のデータ オブジェクトとデータ オブジェクトの配列を区別する理由は、パフォーマンスのためです。 通常のように、1 つのオブジェクトのみがトレースされる場合、オブジェクト配列を作成する理由はありません。 data パラメーターがnullされていない場合は、data1 パラメーターもnullすることはできません。

source パラメーターがnullではなく、空の文字列 ("") ではないことが保証されます。

メソッドの実装では、必要に応じて次の例外をスローできます。

適用対象