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
必要があります。
メソッドの実装は、、および cache
の各パラメーターargs
data1
data
formatOrMessage
で処理null
するように準備する必要があります。 パラメーター値が の null
場合、パラメーターはイベントの一部ではありません。 たとえば、 パラメーターが args
の場合は null
、イベントに引数がないことを意味します。 パラメーターが data
の場合は null
、データ オブジェクトが 1 つまたはまったく存在しません。 1 つのデータ オブジェクトがある場合は、 パラメーターで data1
見つかります。 単一のデータ オブジェクトとデータ オブジェクトの配列を区別する理由は、パフォーマンスのためです。 通常のように、1 つのオブジェクトのみがトレースされる場合、オブジェクト配列を作成する理由はありません。 パラメーターが data
でない null
場合は、 data1
パラメーターを に null
することはできません。
パラメーターが空の source
文字列 ("") ではないこと null
が保証されます。
メソッドの実装では、必要に応じて次の例外をスローできます。
source
がnull
の場合は ArgumentNullException。ArgumentExceptionが値の TraceEventType 1 つでない場合
eventType
は 。メソッドの実装とは無関係の例外。 たとえば、 などです ThreadAbortException。
適用対象
.NET