LazLogger / DebugLn
Lazarus permet d'utiliser au sein de son application un systéme de log grâce aux unités LazLogger, LazLoggerBase et LazLoggerDummy.
Les procedures
DebugLn / DebugLnEnter / DebugLnExit
DebugLn(String); DebugLn(String, Args);
DbgOut
Interception d'un DebugLn
Il peut être utile d'intercepter la procédure DebugLn
pour l'afficher au sein de l'application
- Ligne 10 : On déclare une procedure de type
TLazLoggerWriteEvent = procedure(Sender: TObject; S: string; var Handled: Boolean) of object;
(ReceptDebugLn
dans l'exemple ci-dessous) - Ligne 20 : On defini la property
DebugLogger.OnDebugLn
vers la procédure créé ci-dessus - Ligne 25 : On a accés au log contenu dans la variable
S
uses ..., lazlogger, ... type TForm1 = class(TForm) ... MMDbg: TMemo; // Le TMemo qui recevra les logs ... procedure FormCreate(Sender: TObject); private procedure ReceptDebugLn(Sender: TObject; S: string; var Handled: Boolean); // La procedure d'interception public ... end; var Form1: TForm1; implementation { TForm1 } procedure TForm1.FormCreate(Sender: TObject); begin DebugLogger.OnDebugLn:=@ReceptDebugLn; end; procedure TForm1.ReceptDebugLn(Sender: TObject; S: string; var Handled: Boolean); begin MMDbg.Lines.Add(S); end;
Sources
Vous pourriez laisser un commentaire si vous étiez connecté.