Comment surcharger la méthode Trace.Writeline pour faire un Logger personnalisé

BasicZx81 Messages postés 140 Date d'inscription samedi 5 mars 2011 Statut Membre Dernière intervention 13 août 2013 - 25 févr. 2012 à 10:02
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 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"))

1 réponse

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
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
0
Rejoignez-nous