Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works
Anything · Lazarus or Delphi
Random projectRandom project

Log4D

View on GitHub

Member rating

No ratings yet.

Sign in to rate this project.

README

Log4D - Sistema de Logs Distribuído para Delphi

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.

Recursos

✅ APIs
✅ Filas MQTT
✅ Arquivos de Texto
✅ Banco de Dados SQLite (Seattle e posteriores)


🚀 Instalação

Adicione Log4D ao seu projeto com o Boss:

bash
boss install https://github.com/gabriellfabrega/Log4D

📌 Como Usar

1️⃣ Adicione a Unit ao Seu Projeto

delphi
uses
  Log4D;

2️⃣ Configure os Providers

Caso deseje criar uma Factory para os providers:

delphi
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;

3️⃣ Inicialização com os Providers Desejados

delphi
begin
  TLog4D
    .Output(Memo1)
    .UseProvider(TLog4DSampleFactoryProviders.CreateTextFileProvider)
    .UseProvider(TLog4DSampleFactoryProviders.CreateHttpProvider)
    .UseProvider(TLog4DSampleFactoryProviders.CreateMqttProvider)
    .UseProvider(TLog4DSampleFactoryProviders.CreateSqliteProvider);
end;

4️⃣ Registro de Logs

delphi
begin
  TLog4D.Debug('Exemplo Debug');
  TLog4D.Trace('Exemplo Trace');
  TLog4D.Warn('Exemplo Warn');
  TLog4D.Info('Exemplo Info');
  TLog4D.Error('Exemplo Error');
end;

🔌 Criando um Novo Provider

Para adicionar um novo provider, basta implementar a interface:

delphi
unit Log4D.Provider;

interface

type
  ILog4DProvider = interface
    ['{430EC143-E250-4803-8CEF-17FB0D8AC947}']
    procedure Send(AMessage: string);
  end;

implementation

end.