Skip to content

Latest commit

 

History

History
95 lines (61 loc) · 5.99 KB

README.md

File metadata and controls

95 lines (61 loc) · 5.99 KB

Log Guardian

Open-Source Logger Assistant

link to Go version MIT license Go.Dev reference go report card Quality Gate Status

English README: Dive into the English version of the project's documentation here

O Log Guardian é uma biblioteca desenvolvida para padronizar e gerenciar logs de maneira eficiente e organizada em sistemas vizando a importância da tradução para o usuário final. Com a flexibilidade de lidar com diferentes tipos de logs, esta biblioteca proporciona uma estrutura consistente para a geração e gerenciamento de logs gerais e específicos, permitindo a integração com diferentes sistemas.

Funcionalidades

🔹 Padronização de Logs: O Log Guardian oferece uma estrutura unificada para diferentes tipos de logs, desde logs de função, operações em banco de dados até logs de requisições.

🔹 Configuração Flexível: Permite a fácil integração com diferentes sistemas, possibilitando a customização e configuração dos logs de acordo com as necessidades específicas.

🔹 Conexão com Banco de Dados: Além da gestão dos logs, o Log Guardian pode se integrar a diferentes tipos de banco de dados, como PostgreSQL, MySQL, SQLite, ElasticSearch e MongoDB. A configuração é simples, utilizando variáveis de ambiente para especificar os detalhes de conexão.

🔹 Inserção Automática de Logs: Quando configurado corretamente com variáveis de ambiente, o Log Guardian é capaz de inserir automaticamente os logs no banco de dados especificado.

Uso

O Log Guardian é flexível e se adapta à configuração do ambiente em que é executado. Se as variáveis de ambiente necessárias não estiverem configuradas, o Log Guardian ainda poderá retornar o modelo do log específico para inserção manual no banco de dados.

Caso as variáveis de ambiente estejam configuradas corretamente com os detalhes do banco de dados desejado, o Log Guardian é capaz de conectar automaticamente ao banco de dados especificado e inserir os logs diretamente na tabela correspondente. Ele retorna um valor booleano indicando o sucesso ou falha na inserção dos dados no banco.

Essa flexibilidade permite uma fácil integração e uso do Log Guardian em diferentes cenários de configuração, seja para apenas fornecer os modelos de log para inserção manual ou para realizar inserções automáticas no banco de dados configurado.

É recomendável consultar a seção de Configuração para detalhes sobre as variáveis de ambiente necessárias para uma configuração completa do Log Guardian.

Configuração

O Log Guardian utiliza variáveis de ambiente para configurar suas operações de banco, incluindo definições de conexão com banco de dados e outras configurações essenciais. Aqui está a lista das variáveis de ambiente disponíveis:

Banco de Dados Relacional

PostgreSQL

POSTGRES_HOST: Define o endereço do host para o PostgreSQL.
POSTGRES_EXTERNAL_PORT: Especifica a porta externa para o PostgreSQL.
POSTGRES_USER: Nome de usuário para autenticação no PostgreSQL.
POSTGRES_PASSWORD: Senha para autenticação no PostgreSQL.
POSTGRES_DB: Nome do banco de dados PostgreSQL a ser utilizado.

MySQL

MYSQL_HOST: Define o endereço do host para o MySQL.
MYSQL_PORT: Especifica a porta para o MySQL.
MYSQL_USER: Nome de usuário para autenticação no MySQL.
MYSQL_PASSWORD: Senha para autenticação no MySQL.
MYSQL_DBNAME: Nome do banco de dados MySQL a ser utilizado.

SQLite

SQLITE_PATH: Caminho do arquivo SQLite, se for o banco de dados escolhido.

Banco de Dados NoSQL

MongoDB

MONGODB_URI: Define o URI de conexão para o MongoDB.
MONGODB_DBNAME: Nome do banco de dados MongoDB a ser utilizado.

ElasticSearch

ELASTIC_URI: Define o URI de conexão para o ElasticSearch.
DATABASE_TYPE: Deve ser configurado como "elastic" para utilizar o ElasticSearch como destino dos logs.

Configuração Geral

DATABASE_TYPE: Especifica o tipo de banco de dados a ser utilizado pelo Log Guardian (Valores: sqlite, postgres, mysql, mongodb, elastic).

Observações

Para utilizar as funções automáticas do go-log-guardian, é obrigatório o uso da variável DATABASE_TYPE, pois algumas validações são executadas com base nesta variável antes de chamar as rotinas de inserção.

Certifique-se de fornecer valores válidos e corretos para cada uma dessas variáveis de ambiente. Isso garante uma conexão adequada e o funcionamento correto do Log Guardian com o banco de dados desejado.

⚠️ O arquivo testMain.go foi criado para testar funcionalidades de gerenciamento de logs. Para executar esta aplicação, é necessário configurar o ambiente utilizando o Docker Compose que pode ser encontrado no repo docker-build-library