Log4D surgiu da necessidade de gerenciar logs de aplicações distribuídas. Com ele, é possível visualizar os logs em tela, armazená-los e trafegá-los por diversos meios.
✅ APIs
✅ Filas MQTT
✅ Arquivos de Texto
✅ Banco de Dados SQLite (Seattle e posteriores)
Adicione Log4D ao seu projeto com o Boss:
boss install https://github.com/gabriellfabrega/Log4D
uses
Log4D;
Caso deseje criar uma Factory para os providers:
class function TLog4DSampleFactoryProviders.CreateMqttProvider: TLog4DProviderMqtt;
var
LParams: TLog4DProviderParamMqtt;
begin
LParams.Broker := '127.0.0.1';
LParams.Port := 1883;
LParams.Topic := '/logs';
Result := TLog4DProviderMqtt.Create(LParams);
end;
begin
TLog4D
.Output(Memo1)
.UseProvider(TLog4DSampleFactoryProviders.CreateTextFileProvider)
.UseProvider(TLog4DSampleFactoryProviders.CreateHttpProvider)
.UseProvider(TLog4DSampleFactoryProviders.CreateMqttProvider)
.UseProvider(TLog4DSampleFactoryProviders.CreateSqliteProvider);
end;
begin
TLog4D.Debug('Exemplo Debug');
TLog4D.Trace('Exemplo Trace');
TLog4D.Warn('Exemplo Warn');
TLog4D.Info('Exemplo Info');
TLog4D.Error('Exemplo Error');
end;
Para adicionar um novo provider, basta implementar a interface:
unit Log4D.Provider;
interface
type
ILog4DProvider = interface
['{430EC143-E250-4803-8CEF-17FB0D8AC947}']
procedure Send(AMessage: string);
end;
implementation
end.