Olive.Logger/README.md

44 lines
985 B
Markdown
Raw Normal View History

2017-02-24 19:03:58 -08:00
# Renegade Logger Class
2017-02-24 21:23:30 -08:00
Logger class for Free Pascal
## Usage
```pascal
uses
Renegade.Logger,
{ Implement Logger.LoggingHandlerInterface
2017-02-24 21:23:30 -08:00
(Logger.HandlerInterface unit)
to create your own. }
Logger.SysLogHandler,
// or Logger.StreamHandler,
2017-02-24 21:23:30 -08:00
//... other units;
var
LogHandler : SysLogHandler;
Log : RTLogger;
begin
LogHandler := SysLogHandler.Create(LOG_DAEMON);
Log := RTLogger.Create(LogHandler);
{ Context is an array of consts
It gets turned into json object in the log.
It should be in the format ['Key', 'Value', 'Otherkey', 'Value']
Put any context to your log messages here.
e.g. ['UserID', User.getId(), 'Menu', Menu.getName()] }
Log.Info('Testing', ['Context', 'LogContext']);
Log.Debug('Debug Log', []);
Log.Log(LOG_NOTICE, 'Notice Log', []);
{
Other Shortcuts
Log.Emergency
Log.Alert
Log.Critical
Log.Error
Log.Warning
Log.Notice
}
Log.Free;
LogHandler.Free;
end.
```