Débogage de service Windows Service Windows:débogage

1. Par fichier de log

Dans tous les cas de figure, il est nécessaire de munir son propre service d’un mécanisme de log dans un ou plusieurs fichiers tournants. Dans l’exemple ci-dessus, le log était dirigé dans la console par facilité, mais cette implémentation n’est pas pérenne car on ne peut pas revenir a posteriori sur un problème. L’intérêt de loguer dans un fichier est de pouvoir stocker de manière durable l’activité du programme.

Chaque ligne de log doit être munie d’un indicateur de temps et du ThreadId qui permet de tracer au plus fin l’activité de chaque thread du programme.

Ci-dessous est proposé un exemple de classe de log tournant. Le paramétrage est constitué par son chemin jusqu’à son nom racine, l’extension du fichier log (en général .log ou .txt), la taille maximale du fichier et son nombre maximal concurrent sur le disque dur.

unit ULog; 
 
interface 
 
uses Classes,System.IOUtils,SyncObjs; 
 
type TLog = class(TObject) 
 private 
   FFileName:string; 
   FFileExt:string; 
   FMaxFileCount: int64; 
   FMaxFileSize : int64; 
   FCurrentFileIndex:integer; 
   FCurrentCompleteFileName:string; 
   FLock:TCriticalSection; 
   FWriter:TStreamWriter; ...
Pour consulter la suite, découvrez le livre suivant :
couv_RIDELPH.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Implémentation
Suivant
Conclusion