TraceFilter.ShouldTrace Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Wanneer deze wordt overschreven in een afgeleide klasse, bepaalt u of de traceringslistener de gebeurtenis moet traceren.
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);
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
Parameters
- cache
- TraceEventCache
De TraceEventCache informatie die informatie bevat voor de tracerings gebeurtenis.
- source
- String
De naam van de bron.
- eventType
- TraceEventType
Een van de TraceEventType waarden die het type gebeurtenis opgeven dat de tracering heeft veroorzaakt.
- id
- Int32
Een tracerings-idnummer.
- formatOrMessage
- String
De indeling die moet worden gebruikt voor het schrijven van een matrix met argumenten die zijn opgegeven door de args parameter, of een bericht dat moet worden geschreven.
- args
- Object[]
Een matrix van argumentobjecten.
- data1
- Object
Een traceringsgegevensobject.
- data
- Object[]
Een matrix van traceringsgegevensobjecten.
Retouren
true om de opgegeven gebeurtenis te traceren; anders, false.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u de ShouldTrace methode overschrijft om aan te geven dat tracering moet plaatsvinden wanneer het traceringsgebeurtenistype van de gebeurtenis gelijk is aan 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
Notities voor uitvoerders
Implementaties van deze methode moeten worden geretourneerd true als de gebeurtenis die is opgegeven door de doorgegeven parameters moet worden getraceerd. Anders moet de methode worden geretourneerd false. Een filter dat bijvoorbeeld alleen foutevenementen toestaat om door te geven aan de listener, moet de eventType parameter inspecteren en retourneren true als het niveau van het traceer-gebeurtenistype is ingesteld Error op of hoger, anders moet deze worden geretourneerd false.
Implementaties van de methode moeten worden voorbereid voor verwerking null in de volgende parameters: args, data1, data, formatOrMessage, en cache. Als de parameterwaarde is null, maakt de parameter geen deel uit van de gebeurtenis. Als de args parameter bijvoorbeeld is null, betekent dit dat de gebeurtenis geen argumenten heeft. Als de data parameter is null, zijn er een of geen gegevensobjecten. Als er één gegevensobject is, wordt dit gevonden in de data1 parameter. De reden voor het onderscheid tussen één gegevensobject en een matrix met gegevensobjecten is voor prestaties. Er is geen reden om een objectmatrix te maken als slechts één object wordt getraceerd, zoals normaal gesproken het geval is. Als de data parameter niet nullis, mag de data1 parameter ook niet zijn null.
Het is gegarandeerd dat de source parameter niet null en geen lege tekenreeks ("") is.
Implementaties van de methode kunnen eventueel de volgende uitzonderingen genereren:
ArgumentNullException als
sourcedat het isnull.ArgumentException als
eventTypedit geen van de TraceEventType waarden is.Uitzonderingen die niet gerelateerd zijn aan de implementatie van de methode. Bijvoorbeeld een ThreadAbortException.