Skip to main content

Pacote para gerenciamento de logs

Project description

Handlers

Repositório para tratamento de logs de forma simplificada, o objetivo é permitir criar um dispositivo de log baseado em um arquivo de configuração .INI.

Modelo Padrão de Configuração
[Handlers]
aws_elastic=elastic
inovacao=rocket
arquivo=rotating
tela=stream

[aws_elastic]
host=endpoint_elastic
access_key=key_elastic
secret_key=skey_elastic
region=region_elastic
index=pytest
level=info

[inovacao]
host=endp_rocket
login=login_rocket
password=pass_rocket
channel=#channel
alias=Pytest BOT
topic=Pytest BOT
method=normal
level=error

[arquivo]
file=log.log
max=10000
level=debug

[tela]
level=debug

A tag handlers permite que sejam declarados modelos de handlers sendo a key o nome dado ao log e o valor o tipo de handler. Isso feito, deve existir uma tag para cada handler criado com as configurações necessárias para cada um. Sendo o level necessário sempre

Definição de Objetos

log
  • O código de log tem por objetivo converter o arquivo de configuração de log em logs padrão. O objetivo é abstrair os logs gerados.
  • Receberá o nome do log ini, log name e o log level
  • Criará lista de objetos padrão de log.
  • Função log:
    • Recebe um dict e passa para os logs configurados
  • Todos os objetos são criados para evitar a perda de logs, recebe o dict e salva em banco criando uma lista de logs a ser enviado para cada handler.
es_handler
  • Código tem o objetivo de criar um log para o ElasticSearch (Focado na AWS) através de um dict que é passado como dump(Usando json.dump()) para o handler
  • Para criar o log é necessário
    • host -> Endpoint do elasticsearch
    • access_key -> Para o endpoint na AWS
    • secret_key -> Para o endpoint na AWS
    • region -> Região onde está hosteado o serviço na AWS
    • index -> Index para salvar no elastic (Ao declarar o handler o indice é criado caso não exista)
    • level -> É o log level do handler
rocket_handler
  • Código tem o objetivo de criar um log para o RocketChat através de um dict padrão que é passado como dump(Usando json.dump()) para o handler
  • Dict Padrão
    • topic -> Tópico da mensagem, ficará em negrito na representação do rocket (String)
    • subtopic -> Subtópico da mensagem, ficará topicalizado na representação do rocket (Dict)
      • "- {SUBTOPIC_KEY} : {SUBTOPIC_VALUE}"
    • msg -> Mensagem ficará circulada por um elemento de código na representação do rocket (Dict)
      • "- {MESSAGE_VALUE}"
  • Para criar o log é necessário
    • host -> Host do RocketChat
    • login -> Login do usuário
    • password -> Senha do usuário
    • channel -> Canal onde a conversa será enviada
    • alias -> O nome que aparecerá na tela quando enviar a mensagem
    • topic -> Para Livechat
    • method -> Normal ou Livechat
    • level -> É o log level do handler
rotating_file_handler
  • Código tem o objetivo de criar um log em uma rotating file handler
  • Dict Padrão
    • msg -> Mensagem a ser passada
  • Para criar o log é necessário
    • file -> Nome do arquivo
    • max -> maxBytes do arquivo
    • level -> É o log level do handler
stream_handler
  • Código tem o objetivo de criar um log em stream
  • Dict Padrão
    • msg -> Mensagem a ser passada
  • Para criar o log é necessário
    • level -> É o log level do handler

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

handlers-lauto-1.0.0.tar.gz (9.8 kB view hashes)

Uploaded Source

Built Distribution

handlers_lauto-1.0.0-py3-none-any.whl (12.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page