FormLogger.pas 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. unit FormLogger;
  2. interface
  3. uses
  4. System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  5. FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.Memo.Types,
  6. FMX.StdCtrls, FMX.Controls.Presentation, FMX.ScrollBox, FMX.Memo;
  7. type
  8. TfmLogger = class(TForm)
  9. btnClear: TButton;
  10. pnl1: TPanel;
  11. mmoLog: TMemo;
  12. procedure btnClearClick(Sender: TObject);
  13. procedure FormCreate(Sender: TObject);
  14. private
  15. { Private declarations }
  16. public
  17. { Public declarations }
  18. end;
  19. var
  20. fmLogger: TfmLogger;
  21. implementation
  22. {$R *.fmx}
  23. uses Logger, pub;
  24. procedure TfmLogger.btnClearClick(Sender: TObject);
  25. begin
  26. mmoLog.Lines.Clear;
  27. end;
  28. procedure TfmLogger.FormCreate(Sender: TObject);
  29. begin
  30. g_Logger.OnLog := procedure(Sender: TObject; ALevel: TLogLevel; ALevelTag: string; ALog: string; ATime: TDateTime)
  31. begin
  32. if mmoLog.Lines.Count > 1000 then
  33. begin
  34. mmoLog.Text := mmoLog.Lines[mmoLog.Lines.Count - 1];
  35. end;
  36. mmoLog.Lines.Add(Format('%s %s %s', [FormatDateTime('hh:mm:ss.zzz', ATime), ALevelTag, ALog]));
  37. mmoLog.GoToTextEnd;
  38. end;
  39. g_Logger.Info('Start running');
  40. StyleBook := g_pub.StyleBook;
  41. end;
  42. end.