mirror of
https://github.com/danieleteti/delphimvcframework.git
synced 2024-11-17 08:45:55 +01:00
77 lines
1.7 KiB
ObjectPascal
77 lines
1.7 KiB
ObjectPascal
|
program SimpleConsole_appender;
|
||
|
|
||
|
{$APPTYPE CONSOLE}
|
||
|
|
||
|
{$R *.res}
|
||
|
|
||
|
uses
|
||
|
System.SysUtils, System.Classes, System.Threading,
|
||
|
LoggerPro,
|
||
|
LoggerPro.SimpleConsoleAppender;
|
||
|
|
||
|
var
|
||
|
_Log: ILogWriter;
|
||
|
|
||
|
function Log: ILogWriter;
|
||
|
begin
|
||
|
Result := _Log;
|
||
|
end;
|
||
|
|
||
|
procedure LogInfo;
|
||
|
begin
|
||
|
Log.Info('This is a info message with TAG1', 'TAG1');
|
||
|
Log.Info('This is a info message with TAG2', 'TAG2');
|
||
|
end;
|
||
|
|
||
|
procedure LogDebug;
|
||
|
begin
|
||
|
Log.Debug('This is a debug message with TAG1', 'TAG1');
|
||
|
Log.Debug('This is a debug message with TAG2', 'TAG2');
|
||
|
end;
|
||
|
|
||
|
procedure LogWarning;
|
||
|
begin
|
||
|
Log.Warn('This is a warning message with TAG1', 'TAG1');
|
||
|
Log.Warn('This is a warning message with TAG2', 'TAG2');
|
||
|
end;
|
||
|
|
||
|
procedure LogError;
|
||
|
begin
|
||
|
Log.Error('This is an error message with TAG1', 'TAG1');
|
||
|
Log.Error('This is an error message with TAG2', 'TAG2');
|
||
|
end;
|
||
|
|
||
|
procedure SetupLogger;
|
||
|
begin
|
||
|
_Log := BuildLogWriter([TLoggerProSimpleConsoleAppender.Create]);
|
||
|
end;
|
||
|
|
||
|
const
|
||
|
MAX_TASK = 5;
|
||
|
var
|
||
|
tasks: array of ITask;
|
||
|
begin
|
||
|
SetupLogger;
|
||
|
|
||
|
Setlength (tasks, MAX_TASK);
|
||
|
for var i := 0 to MAX_TASK - 1 do begin
|
||
|
tasks[i] := TTask.Create(procedure
|
||
|
var
|
||
|
I: Integer;
|
||
|
lThreadID: string;
|
||
|
begin
|
||
|
lThreadID := TTask.CurrentTask.Id.ToString;
|
||
|
for I := 1 to 200 do
|
||
|
begin
|
||
|
Log.Debug('log message ' + TimeToStr(now) + ' ThreadID: ' + lThreadID, 'MULTITHREADING');
|
||
|
Log.Info('log message ' + TimeToStr(now) + ' ThreadID: ' + lThreadID, 'MULTITHREADING');
|
||
|
Log.Warn('log message ' + TimeToStr(now) + ' ThreadID: ' + lThreadID, 'MULTITHREADING');
|
||
|
Log.Error('log message ' + TimeToStr(now) + ' ThreadID: ' + lThreadID, 'MULTITHREADING');
|
||
|
end;
|
||
|
end);
|
||
|
tasks[i].Start;
|
||
|
end;
|
||
|
|
||
|
TTask.WaitForAll(tasks);
|
||
|
end.
|