(Trace et Débug) Déclarer un écouteur personnalisé dans le fichier de configurat
BasicZx81
Messages postés140Date d'inscriptionsamedi 5 mars 2011StatutMembreDernière intervention13 août 2013
-
1 mai 2012 à 16:39
BasicZx81
Messages postés140Date d'inscriptionsamedi 5 mars 2011StatutMembreDernière intervention13 août 2013
-
1 mai 2012 à 21:04
Bonjour à tous, j'ai crée une classe pour personnaliser mes messages de débogage provenant des classes Trace et Debug.
Celle ci fonctionne très bien lorsque je rajoute l'écouteur TraceListener avec le code ci-dessous :
Trace.Listeners.Add(New clsTraceListener)
Par contre j'aimerais pouvoir déclarer cet écouteur non pas dans le code mais dans le fichier de configuration MyApp.exe.config comme celui-ci :
(L'écouteur MyListener2 fonctionne mais pas l'écouteur MyListener3)
<configuration>
<system.diagnostics>
<switches>
<!--Définie le niveau d'affichage des messsages de la classe Debug
*** Ce commutateur est inactif en mode de compilation Release ***
0=Off, 1=Error, 2=Warning, 3=Info, 4=Verbose-->
<!--Définie le niveau d'affichage des messsages de la classe Trace
0=Off, 1=Error, 2=Warning, 3=Info, 4=Verbose-->
</switches>
<!--Définie les paramétres autoflush et IndentSize de la classe Trace-->
<trace autoflush ="true" indentsize ="4">
<listeners>
</listeners>
</trace>
<!--Définie les paramétres asssertuienabled et logfilename de la méthode assert-->
</system.diagnostics>
</configuration>
Public Class clsTraceListener
Inherits System.Diagnostics.TraceListener
Dim sw As New System.IO.StreamWriter("MyTrace.txt")
Public Overloads Overrides Sub Write(ByVal message As String)
' Affiche l'indentation et l'heure uniquement en début de ligne.
If Me.NeedIndent Then
sw.Write("[" & Now.ToString & " " & Now.Millisecond & "] ")
Me.WriteIndent()
End If
sw.Write(message)
sw.Flush() ' garantit que les données sont écrites dans un fichier.
End Sub
Public Overloads Overrides Sub WriteLine(ByVal message As String)
' Utilise la méthode write pour afficher une ligne entière
Me.Write(message & ControlChars.CrLf)
'La prochaine ligne doit être indentée.
' et l'heure en cours affichée.
Me.NeedIndent = True
End Sub
End Class
Voici ma classe perso ci-dessus pour ceux que ça interresse mais elle n'est pas finie, a terme je rajouterais des options de sorties configurables si possible depuis le fichier de configuration mais ca sera pour une prochaine fois.
Déjà il faudrait que je puisse déclarer cet écouteur dans mon fichier de config, pouvez vous m'aider sur ce point ?
En vous remerciant d'avance.
BasicZx81
Messages postés140Date d'inscriptionsamedi 5 mars 2011StatutMembreDernière intervention13 août 2013 1 mai 2012 à 21:04
Je me réponds ;)
La réponse se trouve là je pense :
Tapez le texte de l'url ici. Il faut attribuer un nom fort à l'Assembly et comme je ne maîtrise pas du tout cette partie je pense que je vais me passer du fichier de configuration pour tout faire avec le code.