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