====== 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 ===== * [[https://wiki.lazarus.freepascal.org/LazLogger]]