Page 1 sur 1

[R] Problème Ecriture fichier de log.

Posté : lun. 28 janv. 2008 16:32
par bqsjayce
Bonjour,

Mon script fonctionne très bien, je veux juste ajouter à certains endroits un script d'écriture de fichier log comme ceci :

Code : Tout sélectionner

$filestatus = FileOpen("toto.log", 128)
FileWrite($filestatus, "Etape 58 ok." & @CRLF)
.......action.........
FileWrite($filestatus, "Etape 67 ok." & @CRLF)
FileClose($filestatus) 
 
Je me sert de ce fichier pour connaitre l'état d'avancement de la commande qui s'éxecute sur une machine distante. Le problème est que le fichier a l'air de se remplir d'un seul coup à la fin de l'éxécution du programme plutot qu'à chaque écriture de ligne. Auriez vous une idée ?

Merci d'avance

Js

Re: [..] Problème Ecriture fichier de log.

Posté : lun. 28 janv. 2008 18:13
par Tlem
Cela est normal, puisque au lancement de votre script, vous ouvrez le fichier pour écriture, et ne le fermer que quand le script fini !

Vous devriez plutôt faire ceci :

Code : Tout sélectionner

$File = "toto.log"

_EcritStatus($File, "Etape 58 ok.")
.......action.........
_EcritStatus($File, "Etape 67 ok.")


Func _EcritStatus($File, $State)
    $filestatus = FileOpen($File, 1 + 128) ; Le 1 c'est Pour ajouter à la fin du fichier.
    FileWrite($filestatus, $State & @CRLF)
    FileClose($filestatus)
EndFunc

 

Re: [..] Problème Ecriture fichier de log.

Posté : lun. 28 janv. 2008 19:54
par chezsteph1
Il existe aussi une fonction toute prête :)
extrait de l'aide AutoIT :

Code : Tout sélectionner

#include <file.au3>
;
_FileWriteLog(@ScriptDir & "\my.log","Text 1")
;
_FileWriteLog(@ScriptDir & "\my.log","Text 2")
 

Re: [..] Problème Ecriture fichier de log.

Posté : lun. 28 janv. 2008 20:26
par Tlem
Effectivement (Je l'avais oublié), la fonction _FileWriteLog est plus complète puisque elle rajoute la date, l'heure, et gère les erreurs de création/écriture du fichier log.

Merci chezsteph1.

[R] Problème Ecriture fichier de log.

Posté : mar. 29 janv. 2008 10:27
par bqsjayce
Tlem a écrit :Effectivement (Je l'avais oublié), la fonction _FileWriteLog est plus complète puisque elle rajoute la date, l'heure, et gère les erreurs de création/écriture du fichier log.

Merci chezsteph1.
C'est bon j'ai trouvé la solution. Que je suis c**... En fait j'ai mis l'ouverture en 128 (UTF8) au lieu de 129 (UTF8 + ECRITURE). Le fait de ne pas mettre l'ecriture engendre ce probleme..

Merci à tous

Js