fichier log

Tutos et exemples de scripts et de code
Post Reply
francois
Posts: 460
Joined: 18 Oct 2010, 10:33
Location: France

fichier log

Post by francois »

Bonjour

Exemple de fichier log.

Peut être utilisé dans un script actiona avec "saisie" dans un formulaire à l'aide des données contenues dans un fichier en entrée.

Chaque article du fichier log contient quelques données de ce fichier en entrée + date et heure de la "saisie".

Ce fichier log peut être utile en cas de plantage ( bug de l'application où on fait la saisie, panne réseau, ... )
afin de connaitre le dernier article traité.

Comme le "write" dans un programme n'est qu'une écriture logique ( dans un buffer), il faut forcer l’écriture physique à chaque écriture logique via :
  • open + write (option 'append') + Close
Le 'close' forcant l'écriture physique.

C'est envisageable de procéder comme ca avec un script qui simule la saisie ( avec "seulement" quelques milliers d'écritures)
Cela ne le serait pas avec un programme de gestion qui écrirait des millions de fois.



C'est juste un script de démo pour montrer le principe :

Code: Select all

//==========
var  fichier_log = new File();
fichier_log_chemin_complet= "C://temp//fichier_log.csv"
//==========

//==========
// eventuellement deleter le fichier log (si "log quotidienne")
File.remove(fichier_log_chemin_complet, {
    noConfirmDialog: true
});
// fin eventuellement deleter le fichier log 
//==========


//==========
for(id=0;id<10;id++){
//=========================
//       On ouvre + ecrit + ferme le fichier pour chaque ecriture
//       afin qu'en  cas de plantage toutes les infos soient dans ce fichier
//       (et pas dans les buffers)
//=========================
fichier_log.open(fichier_log_chemin_complet,File.WriteOnly | File.Text | File.Append);

// Script de test : juste pour avoir des valeurs differentes dans le fichier
attente = Algorithms.randomInteger(1000,3000)
Execution.pause(attente)
// fin Script de test.....

tt = id  +  ","  +  date_heure()+ "\n";
Console.print(id)
fichier_log.writeText(tt);
fichier_log.close();
} // fin for 
Console.print("Fin")

//========
function date_heure() {
now= new Date();
aaaa = now.getFullYear();
mm = now.getMonth() + 1;
jj =  now.getDate();

hh = now.getHours();
mn =  now.getMinutes();
ss =  now.getSeconds();

zz = aaaa  + "/" + mm + "/" + jj + " " + hh + "-" + mn +  "-" +  ss ;
return zz
}
//=========
MDLE46
Posts: 108
Joined: 11 Nov 2016, 19:06

Re: fichier log

Post by MDLE46 »

Bonjour François,

Pour quelqu'un qui apprend, il y a toujours quelque chose à glaner dans tes scripts.

Sur celui-ci, en le manipulant, j'ai constaté :
a) comment détruire un fichier --> File.remove(fichier_log_chemin_complet, { noConfirmDialog: true });
b) comment créer un fichier ---> fichier_log.open(fichier_log_chemin_complet,File.WriteOnly | File.Text | File.Append);
car si on commande l'ouverture d'un fichier inexistant, le fichier inexistant se crée automatiquement.

Cordialement.
MDLE46
Post Reply