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 typeTLazLoggerWriteEvent = procedure(Sender: TObject; S: string; var Handled: Boolean) of object;(ReceptDebugLndans l'exemple ci-dessous)
- Ligne 20 : On defini la propertyDebugLogger.OnDebugLnvers la procédure créé ci-dessus
- Ligne 25 : On a accés au log contenu dans la variableS
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é.