TraceFilter.ShouldTrace メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
派生クラスでのオーバーライドの際に、トレース リスナーでイベントをトレースするかどうかを決定します。
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 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
注意 (実装者)
渡されたパラメーターで指定されたイベントをトレースする必要がある場合、このメソッドの実装は返 true す必要があります。 それ以外の場合、メソッドは .false たとえば、エラー イベントのみがリスナーに渡されるようにするフィルターは、パラメーターをeventType検査し、トレース イベントの種類レベルがそれ以上に設定Errorされているかどうかを返すtrue必要があります。それ以外の場合は、返すfalse必要があります。
メソッドの実装は、次のパラメーターで処理nullするように準備する必要があります。 data1argsdataformatOrMessagecache パラメーター値が指定されている null場合、パラメーターはイベントの一部ではありません。 たとえば、パラメーターが指定されている args 場合は null、イベントに引数がないことを意味します。 パラメーターが指定されている data 場合は null、データ オブジェクトが 1 つまたはまったく存在しません。 データ オブジェクトが 1 つ存在する場合は、パラメーターで data1 見つかります。 単一のデータ オブジェクトとデータ オブジェクトの配列を区別する理由は、パフォーマンスのためです。 通常のように、1 つのオブジェクトのみがトレースされる場合、オブジェクト配列を作成する理由はありません。 パラメーターが data 指定されていない null場合は、パラメーターを data1 指定することはできません null。
パラメーターが空の source 文字列 ("") ではないこと null が保証されます。
メソッドの実装では、必要に応じて次の例外をスローできます。
ArgumentNullException if
sourceisnull.ArgumentExceptionが値の TraceEventType 1 つでない場合
eventType。メソッドの実装とは無関係の例外。 たとえば、次のようになります ThreadAbortException。