Comment surcharger la méthode Trace.Writeline pour faire un Logger personnalisé
BasicZx81
Messages postés140Date d'inscriptionsamedi 5 mars 2011StatutMembreDernière intervention13 août 2013
-
25 févr. 2012 à 10:02
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024
-
25 févr. 2012 à 14:40
Bonjour à tous,
j'ai largement sollicité le site dernièrement, j'espère que vous ne m'en voudrez pas pour ça, en même temps j'ai presque fini mon appli et je remercie tous le monde de m'avoir aidé jusque là. Cette fois-ci J'aimerais faire un logger perso mais j'ai des difficultés pour surcharger une méthode existante et je ne suis même pas sûre que ca soit faisable, j'espére que vous pourrez m’éclairer davantage. Si besoin je pourrais fournir le code complet car je pense que ça intéressera du monde.
Le soucis c'est que je voudrais que dans la syntaxe suivante : Trace.writelineif (Conditions, TextLog), TextLog soit remplacé par une fonction perso "WriteLog" sans modifier la syntaxe d'origine et donc en utilisant une surcharge de la méthode existante. (L'interêt de cette fonction est d'enrichir et de formater le texte à écrire dans les Log sans polluer le reste du programme avec une écriture trop longue et trop compliquée).
Voici un exemple du code avec la méthode d'origine du Framework :
Dim TextLog = "Demarrage de l'application"
Trace.WriteLineIf(MyTraceSwitch.TraceError, TextLog)
Ma fonction WriteLog destinée à retourner le texte "TextLog" par un texte personnalisé :
Public Function WriteLog(ByVal TraceLevel As TraceLevel, TextLog As String, Optional ByVal WriteSubName As Boolean = True)
......
Return TextLog
End Function
En attendant j'uilise ce code qui fonctionne mais hélas sans la surcharge :
Trace.WriteLineIf(MyTraceSwitch.TraceError, WriteLog(TraceLevel.Error, "MonTexte de Log"))
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 25 févr. 2012 à 14:40
Bonjour,
Une autre solution serait de la refaire et de créer ton propre système.
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list ---
Mon site