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指定导致跟踪的事件类型的值之一。
- 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:、、argsdata1、data和formatOrMessage。 cache 如果参数值为 null,则参数不是事件的一部分。 例如,如果参数 args 为 null,则表示该事件没有任何参数。
data如果参数为null,则存在一个或没有数据对象。 如果有一个数据对象,则会在参数中找到 data1 该对象。 单个数据对象与数据对象数组之间的区别的原因是性能。 如果只跟踪一个对象,则没有理由创建对象数组,就像通常的情况一样。
data如果参数不是null,则data1参数也不得null。
可以保证 source 参数不是 null ,而不是空字符串(“)。
方法的实现可以选择性地引发以下异常:
ArgumentNullException如果为 .,则为
sourcenullArgumentException 如果
eventType不是其中一个值,则 TraceEventType 为与方法的实现无关的异常。 例如,一个 ThreadAbortException.