2 pièce(s) jointe(s)
TEventLog : Création d'un fichier log
Bonjour,
L'idée est de proposer quelque chose de relativement simple pour créer un fichier log en utilisant le composant TEventLog.
Pour cet exemple, nous déposons 3 boutons sur une forme ainsi que le composant TEventLog.
Nous paramétrons les propriétés du composant comme suit :
Pièce jointe 598286
Nous déclarons les variables :
- User pour la récupération de l'identifiant de l'utilisateur de la session,
- NomPC pour la récupération du nom du PC utilisé par l'utilisateur.
Code:
1 2 3
| private
User : string;
NomPC : string; |
Nous codons les actions des boutons et de la fermeture de l'application que nous désirons voir figurer dans le fichier des logs.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| procedure TForm1.Button1Click(Sender: TObject);
begin
EventLog1.log(';Clic bouton 1');
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
EventLog1.log(';Clic bouton 2');
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
EventLog1.log(';Clic bouton 3');
end;
procedure TForm1.FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
EventLog1.log(';Fermeture application');
end; |
Vous avez sûrement remarqué le point-virgule avant l'action à enregistrer. Celui-ci servira de séparateur. Il peut prendre d'autant plus d'importance si nous voulons générer un fichier .csv plutôt qu'un fichier .log ou .txt. En effet, à l'ouverture avec Excel, les items seront bien répartis en colonnes.
A la création de la forme, nous récupérons l'identifiant de session et le nom du PC de l'utilisateur pour les utiliser au niveau de la propriété identification du composant TEventLog.
Code:
1 2 3 4 5 6
| procedure TForm1.FormCreate(Sender: TObject);
begin
User:= Application.EnvironmentVariable['USERNAME']; //Récupération de l'identifiant utilisateur
NomPC:= Application.EnvironmentVariable['COMPUTERNAME']; //Récupération du nom du PC
EventLog1.identification:= NomPC + ';' + User + ';';
end; |
Il y encore des points-virgules séparateurs...
Maintenant, si tout a été bien fait, après compilation, lancement de l'application et avoir un peu joué avec les boutons, à son ouverture nous devrions obtenir un fichier contenant les évènements horodatés, attribués à un utilisateur et localisés sur un PC, comme dans celui-ci :
Pièce jointe 598287
Le fichier log ayant été créé. Celui-ci grossissant au fur et à mesure de l'utilisation de l'application, il faudra penser à mettre en place une stratégie qui permettra de l'alléger et d'archiver les logs...