delphimvcframework/lib/loggerpro/samples/50_custom_appender/LoggerProConfig.pas

60 lines
1002 B
ObjectPascal

unit LoggerProConfig;
interface
uses
LoggerPro;
function Log: ILogWriter;
implementation
uses
LoggerPro.ConsoleAppender, System.SysUtils;
type
TMyCustomAppender = class(TLoggerProAppenderBase)
public
procedure Setup; override;
procedure TearDown; override;
procedure WriteLog(const aLogItem: TLogItem); override;
end;
var
_Log: ILogWriter;
function Log: ILogWriter;
begin
Result := _Log;
end;
{ TMyCustomAppender }
procedure TMyCustomAppender.Setup;
begin
//
end;
procedure TMyCustomAppender.TearDown;
begin
//
end;
procedure TMyCustomAppender.WriteLog(const aLogItem: TLogItem);
begin
// uncomment this to see what happend if an appender raise an exception
// raise Exception.Create('Kill LoggerPro');
// uncomment this to see what happend if an appender is slow
Sleep(2000);
WriteLn('[THE BAD APPENDER] ' + aLogItem.LogMessage);
end;
initialization
_Log := BuildLogWriter([
TLoggerProConsoleAppender.Create,
TMyCustomAppender.Create])
end.