Activer/Desactiver TRACE par l'intermediaire fichier .config

Résolu
garcimor59 Messages postés 66 Date d'inscription mardi 18 juillet 2006 Statut Membre Dernière intervention 6 mars 2008 - 5 oct. 2006 à 15:15
tigerfun Messages postés 3 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 12 mars 2010 - 25 juin 2009 à 14:45
Bonjour,

Voilà, j'ai réalisé une application Console, avec des #ifdef(TRACE)....
Et j'ai lu qu'on pouvait parametre la trace par l'intermediaire d'un fichier XML de configuration qui porte le nom de l'application+.config et qui à cette tete là :

<configuration>
   <system.diagnostics>
      <trace autoflush="false" indentsize="3" />
   </system.diagnostics>
</configuration>

J'aimerai savoir si par l'intermediaire de ce fichier on peut activer/desactiver le mode TRACE?

Merci beaucoup

8 réponses

cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
5 oct. 2006 à 15:40
Salut,
Oui bien sûr, le config file est entre autre fait pour ça. Pour disabler le trace tu mets ça valeur à 0 : value="0"
MSDN (ANG) / MSDN (FR)

<hr size="2" />VC# forever <
3
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
5 oct. 2006 à 15:48
pour disabler

non... pour désactiver

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
3
garcimor59 Messages postés 66 Date d'inscription mardi 18 juillet 2006 Statut Membre Dernière intervention 6 mars 2008
9 oct. 2006 à 13:58
Réponse :

Dans l'application il faut (pour une trace dans la console) :

 System.Diagnostics.BooleanSwitch traceD =
                new System.Diagnostics.BooleanSwitch("Debug", "TestCoucou");

 Trace.Listeners.Add(new TextWriterTraceListener(Console.Out));

Là, où on veut mettre une trace :

Trace.WriteLineIf(traceD.Enabled,"Coucou");

Dans le fichier de configuration de l'application :

<configuration>
    <system.diagnostics>
        <switches>
            Debug" value="0">
        </switches>
    </system.diagnostics>
</configuration>

Aprés c'est 0 pour désactiver et 1 pour activer.

++
3
garcimor59 Messages postés 66 Date d'inscription mardi 18 juillet 2006 Statut Membre Dernière intervention 6 mars 2008
5 oct. 2006 à 16:41
Ouep en fait je crois qu'il y a un truc que j'ai pas bien compris :

J'ai le fichier appli.exe.config suivant :

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
   <system.diagnostics>
      <trace value="0" autoflush="false" indentsize="3" />
   </system.diagnostics>
</configuration>

et dans mon code j'ai des trucs du genre :

#if(TRACE)
    Console.Write("Coucou");
#def

Donc je compile le tout avec la constante de compilation : TRACE

Donc ce que je souhaite c'est que lorsque que je met value à 0, le message coucou ne s'affiche pas.

Mais est-ce que ma méthode est completement fausse, ou est-ce qu'il faut absolument que je passe par un switches??

Merci

Ps : Désolé d'avoir accepté la réponse si vite!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
5 oct. 2006 à 16:56
nan... tu n'as pas tout compris :)


 


à la place de
#if(TRACE)
    Console.Write("Coucou");
#endif

mets :
Trace.WriteLine("Coucou");






Sébastien FERRAND
(

blog
)
Consultant Indépendant
[Microsoft MVP Visual C#]
0
fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
5 oct. 2006 à 18:12
Sans oublier de mettre au démarrage :

Trace.Listeners.Add(new TextWriterTraceListener(Console.Out));

Bien sure si tu traces dans la console.
0
garcimor59 Messages postés 66 Date d'inscription mardi 18 juillet 2006 Statut Membre Dernière intervention 6 mars 2008
6 oct. 2006 à 10:14
D'accord merci je vais essayer.

Dois-je utiliser des switch ou non?
0
tigerfun Messages postés 3 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 12 mars 2010
25 juin 2009 à 14:45
Fun toujours  
0
Rejoignez-nous