Sign in Join

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

Catalog · How the catalog works

Random project

Log4D

View on GitHub

Anyone may press Interesting, signed in or not. It helps others find this project.

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.