delphimvcframework/samples/130_simple_console_appender/SimpleConsole_appender.dpr

42 lines
1.1 KiB
ObjectPascal
Raw Normal View History

program SimpleConsole_appender;
{$APPTYPE CONSOLE}
{$R *.res}
uses
System.SysUtils, System.Classes, System.Threading,
LoggerPro,
LoggerPro.SimpleConsoleAppender;
const
MAX_TASK = 5;
var
lTasks: array of ITask;
lLog: ILogWriter;
begin
lLog := BuildLogWriter([TLoggerProSimpleConsoleAppender.Create]);
Setlength (lTasks, MAX_TASK);
for var i := 0 to MAX_TASK - 1 do begin
lTasks[i] := TTask.Create(procedure
var
I: Integer;
lThreadID: string;
begin
lThreadID := TTask.CurrentTask.Id.ToString;
for I := 1 to 200 do
begin
lLog.Debug('log message ' + TimeToStr(now) + ' ThreadID: ' + lThreadID, 'MULTITHREADING');
lLog.Info('log message ' + TimeToStr(now) + ' ThreadID: ' + lThreadID, 'MULTITHREADING');
lLog.Warn('log message ' + TimeToStr(now) + ' ThreadID: ' + lThreadID, 'MULTITHREADING');
lLog.Error('log message ' + TimeToStr(now) + ' ThreadID: ' + lThreadID, 'MULTITHREADING');
lLog.Fatal('log message ' + TimeToStr(now) + ' ThreadID: ' + lThreadID, 'MULTITHREADING');
end;
end);
lTasks[i].Start;
end;
TTask.WaitForAll(lTasks);
end.