Bonjour à tous,
Pour un service que j'ai créer, j'utilise un fichier de trace déclaré comme suit :
Etant donné que je veux le fichier de trace à l'endroit où est installé le service, j'appelle cette méthode, au démarrage de ce dernier:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <!-- La trace --> <system.diagnostics> <trace autoflush="true" indentsize="4"> <listeners> <add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="TraceLog.txt" /> <remove name="Default" /> </listeners> </trace> </system.diagnostics>
Ce code fonctionne bien. Par contre si le fichier Tracelog.txt n’existe pas au lancement du service, je me retrouve avec deux fichiers :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 public static void InitTraceLog() { if (Trace.Listeners.Count > 0) { // On récupère le listener déclaré TextWriterTraceListener oldListener = (TextWriterTraceListener)Trace.Listeners[0]; string sPathDyn = Path.Combine(System.Windows.Forms.Application.StartupPath, "TraceLog.txt"); if (!File.Exists(sPathDyn)) File.Create(sPathDyn); // Construction d'un nouveau listener avec les paramètres de l'ancien et un chemin dynamique TextWriterTraceListener newListener = new TextWriterTraceListener(sPathDyn); newListener.TraceOutputOptions = oldListener.TraceOutputOptions; Trace.AutoFlush = true; Trace.Listeners.RemoveAt(0); // On dégage le listener courant Trace.Listeners.Add(newListener); // et on ajoute le nouveau } }
1) TraceLog.txt => créer avec la ligne File.Create(sPathDyn);
2) a81b86ad-d62a-4adc-84a2-ff5862724feaTraceLog.txt => créer dès que j'appelle Trace.WriteLine() dans le code du service! Et c'est ce dernier qui est utilisé pour toutes les traces!
Dans le cas où le fichier Tracelog.txt existe deja (quand je redémarre mon service par exemple). C'est bien le tracelog.txt qui est utilisé. Et il n'y a pas d'autre fichier style "GUID"Tracelog.txt de créé!
Ca n'est pas très embêtant dans l'absolue, mais je n'arrive pas à savoir d'où sors ce "GUID"Tracelog.txt et pourquoi?
Partager