TraceFilter.ShouldTrace Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
En cas de substitution dans une classe dérivée, détermine si l’écouteur de trace doit tracer l’événement.
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
Paramètres
- cache
- TraceEventCache
Qui TraceEventCache contient des informations pour l’événement de trace.
- source
- String
Nom de la source.
- eventType
- TraceEventType
Une des TraceEventType valeurs spécifiant le type d’événement qui a provoqué la trace.
- id
- Int32
Numéro d’identificateur de trace.
- formatOrMessage
- String
Le format à utiliser pour écrire un tableau d’arguments spécifié par le args paramètre ou un message à écrire.
- args
- Object[]
Tableau d’objets d’argument.
- data1
- Object
Objet de données de trace.
- data
- Object[]
Tableau d’objets de données de trace.
Retours
true pour tracer l’événement spécifié ; sinon, false.
Exemples
L’exemple de code suivant montre comment remplacer la ShouldTrace méthode pour indiquer que le suivi doit se produire lorsque le type d’événement de trace de l’événement est égal à 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
Notes pour les responsables de l’implémentation
Les implémentations de cette méthode doivent retourner true si l’événement spécifié par les paramètres passés doit être suivi. Sinon, la méthode doit retourner false. Par exemple, un filtre qui autorise uniquement les événements d’erreur à passer à l’écouteur doit inspecter le eventType paramètre et retourner true si le niveau de type d’événement de trace est défini Error sur ou supérieur ; sinon, il doit retourner false.
Les implémentations de la méthode doivent être préparées à gérer null dans les paramètres suivants : args, , data1, data, formatOrMessageet cache. Si la valeur du paramètre est null, le paramètre ne fait pas partie de l’événement. Par exemple, si le args paramètre est null, cela signifie que l’événement n’a aucun argument. Si le data paramètre est null, il existe un ou aucun objet de données. S’il existe un objet de données, il se trouve dans le data1 paramètre. La raison de la distinction entre un objet de données unique et un tableau d’objets de données est pour les performances. Il n’existe aucune raison de créer un tableau d’objets si un seul objet est suivi, comme c’est le cas normalement. Si le data paramètre n’est pas null, le data1 paramètre ne doit pas non plus être null.
Il est garanti que le source paramètre n’est pas null et non pas une chaîne vide (« »).
Les implémentations de la méthode peuvent éventuellement lever les exceptions suivantes :
ArgumentNullException si
sourcec’estnull.ArgumentException si
eventTypece n’est pas l’une TraceEventType des valeurs.Exceptions non liées à l’implémentation de la méthode. Par exemple, un ThreadAbortException.