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 :
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.
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 private User : string; NomPC : string;
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.
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 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;
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.
Il y encore des points-virgules séparateurs...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
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 :
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...
Partager