Activer/Desactiver TRACE par l'intermediaire fichier .config [Résolu]

Messages postés
66
Date d'inscription
mardi 18 juillet 2006
Statut
Membre
Dernière intervention
6 mars 2008
- - Dernière réponse : 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
Afficher la suite 

8 réponses

Meilleure réponse
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
37
3
Merci
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 <

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 122 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Bidou
Messages postés
4947
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
30
3
Merci
pour disabler

non... pour désactiver

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 122 internautes nous ont dit merci ce mois-ci

Commenter la réponse de sebmafate
Messages postés
66
Date d'inscription
mardi 18 juillet 2006
Statut
Membre
Dernière intervention
6 mars 2008
3
Merci
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.

++

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 122 internautes nous ont dit merci ce mois-ci

Commenter la réponse de garcimor59
Messages postés
66
Date d'inscription
mardi 18 juillet 2006
Statut
Membre
Dernière intervention
6 mars 2008
0
Merci
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!
Commenter la réponse de garcimor59
Messages postés
4947
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
30
0
Merci
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#]
Commenter la réponse de sebmafate
Messages postés
1108
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
10 juillet 2018
4
0
Merci
Sans oublier de mettre au démarrage :

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

Bien sure si tu traces dans la console.
Commenter la réponse de fregolo52
Messages postés
66
Date d'inscription
mardi 18 juillet 2006
Statut
Membre
Dernière intervention
6 mars 2008
0
Merci
D'accord merci je vais essayer.

Dois-je utiliser des switch ou non?
Commenter la réponse de garcimor59
Messages postés
3
Date d'inscription
jeudi 28 décembre 2006
Statut
Membre
Dernière intervention
12 mars 2010
0
Merci
Fun toujours  
Commenter la réponse de tigerfun