[..] Fichier log

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
JIF
Niveau 6
Niveau 6
Messages : 219
Enregistré le : mer. 04 févr. 2009 20:07
Localisation : 84
Status : Hors ligne

[..] Fichier log

#1

Message par JIF » ven. 28 août 2009 15:29

Bonjour, voilà j'aimerais savoir comment crée un fichier log avec Autoit pour écrire et lire les données qui se trouve dans le fichier log.

Merci de me répondre.
Cordialement JIF,

Avatar du membre
20100
Niveau 3
Niveau 3
Messages : 42
Enregistré le : ven. 03 juil. 2009 10:39
Status : Hors ligne

Re: [..] Fichier log

#2

Message par 20100 » ven. 28 août 2009 15:45

Un fichier log sert plutôt à contrôler un traitement sur son déroulement. On regarde si des erreurs sont apparus en répondant aux questions par qui? quand? et encore mieux pourquoi?

Si tu souhaites lire et écrire des données dans un fichier texte, je te conseille d'utiliser un fichier *.ini de configuration. Il y a déjà plein d'exemple qui traine sur le forum mais voilà les fonctions que tu peux regarder dans l'aide d'AutoIt :
  • IniWrite ( "filename", "section", "key", "value" )
  • IniRead ( "filename", "section", "key", "default" )
  • IniReadSection ( "filename", "section" )
  • IniRenameSection ( "filename", "section", "new section" [, flag] )
  • etc...

Code : Tout sélectionner

#include <Date.au3>

; Variable à ecrire dans le fichier texte
Local $currentDate = _DateTimeFormat( _NowCalc(), 2)
Local $currentTime = _DateTimeFormat( _NowCalc(), 5)
Local $variable = 125

;~ filename Filename of the text file to open. 
;~ mode Mode (read or write) to open the file in.
;~ Can be a combination of the following:
;~   0 = Read mode
;~   1 = Write mode (append to end of file)
;~   2 = Write mode (erase previous contents)
;~   4 = Read raw mode
;~   8 = Create directory structure if it doesn't exist (See Remarks).
;~   16 = Force binary(byte) reading and writing mode with FileRead and FileWrite
;~   32 = Use Unicode UTF16 Little Endian reading and writing mode. Reading does not override existing BOM
;~   64 = Use Unicode UTF16 Big Endian reading and writing mode. Reading does not override existing BOM
;~   128 = Use Unicode UTF8 reading and writing mode. Reading does not override existing BOM
;~ Both write modes will create the file if it does not already exist. The folder path must already exist (except using mode '8' - See Remarks). 
Local $filename = @ScriptDir&"\log\logfile.txt"
Local $mode = 10 ; 2 + 8 (erase + create dir)
Local $file = FileOpen($filename, $mode) 

; Ecriture dans le fichier texte
FileWriteLine($file,"")
FileWriteLine($file," ___________________")
FileWriteLine($file,"|                   |")
FileWriteLine($file,"|     DEBUT log     |")
FileWriteLine($file,"|___________________|")
FileWriteLine($file,"")
FileWriteLine($file,"")
FileWriteLine($file,"   Informations générales")
FileWriteLine($file,"  ------------------------")
FileWriteLine($file,"    -> Début du traitement lancé le "&$currentDate&" à "&$currentTime)
FileWriteLine($file,"    -> $variable = "&$variable)

; Ouverture du fichier log avec notepad
Run("notepad.exe "&$filename)
 

Avatar du membre
Voodoo
Site Admin
Site Admin
Messages : 298
Enregistré le : ven. 20 juil. 2007 19:45
Status : Hors ligne

Re: [..] Fichier log

#3

Message par Voodoo » ven. 28 août 2009 16:00

Il y a une fonction qui fait tout ça: regarde à _FileWriteLog()

Avatar du membre
20100
Niveau 3
Niveau 3
Messages : 42
Enregistré le : ven. 03 juil. 2009 10:39
Status : Hors ligne

Re: [..] Fichier log

#4

Message par 20100 » ven. 28 août 2009 16:05

Certes mais tu ne peux pas personnaliser ta présentation de ton fichier log avec cette fonction... même si je la trouve plus pratique à utiliser.

JIF
Niveau 6
Niveau 6
Messages : 219
Enregistré le : mer. 04 févr. 2009 20:07
Localisation : 84
Status : Hors ligne

Re: [..] Fichier log

#5

Message par JIF » ven. 28 août 2009 18:11

En faite ces en cas du bug de mon script pour qu'il reprenne la ou il setait arreté et non qu'il reprenne du debut. Ou meme lorsque j'etain le pc pour qu'il reprene là ou il s'est arreté lorsque je relences le scripte.

Répondre