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

  1. 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)
  2. Ligne 20 : On defini la property DebugLogger.OnDebugLn vers la procédure créé ci-dessus
  3. Ligne 25 : On a accés au log contenu dans la variable S
  1. uses
  2. ..., lazlogger, ...
  3. type
  4. TForm1 = class(TForm)
  5. ...
  6. MMDbg: TMemo; // Le TMemo qui recevra les logs
  7. ...
  8. procedure FormCreate(Sender: TObject);
  9. private
  10. procedure ReceptDebugLn(Sender: TObject; S: string; var Handled: Boolean); // La procedure d'interception
  11. public
  12. ...
  13. end;
  14. var
  15. Form1: TForm1;
  16. implementation
  17. { TForm1 }
  18. procedure TForm1.FormCreate(Sender: TObject);
  19. begin
  20. DebugLogger.OnDebugLn:=@ReceptDebugLn;
  21. end;
  22.  
  23. procedure TForm1.ReceptDebugLn(Sender: TObject; S: string; var Handled: Boolean);
  24. begin
  25. MMDbg.Lines.Add(S);
  26. end;

Sources

Vous pourriez laisser un commentaire si vous étiez connecté.