====== 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]]