Skip to main content

No project description provided

Project description

Sistema de Log Configurável

Este projeto oferece um sistema de logs altamente configurável, permitindo personalizar diversos aspectos através de variáveis de ambiente definidas em um arquivo .env. Você poderá definir o caminho dos logs, o formato de cada entrada, o nível de detalhe e a formatação da data e hora, oferecendo flexibilidade total para suas necessidades.

Como Utilizar

1. Arquivo de Configuração .env

A configuração do sistema de logs é feita através do arquivo .env. Crie este arquivo na raiz do seu projeto e defina as seguintes variáveis:

  • DEFAULT_LOG_PATH: Caminho para o diretório onde os arquivos de log serão armazenados. Este campo suporta formatação de data e hora, conforme descrito na seção "Formatação de Data e Hora".
  • DEFAULT_LOG_TEMPLATE: Define o formato de cada linha de log. Utilize as variáveis de formatação disponíveis, conforme detalhado na seção "Formato das Entradas de Log".
  • DEFAULT_TIME_FORMAT: Especifica o formato de data e hora a ser utilizado nos logs. Consulte a seção "Formatação de Data e Hora" para opções.
  • DEFAULT_LOG_LEVEL: Define o nível mínimo de log a ser gravado. Opções comuns incluem DEBUG, INFO, WARNING, ERROR e CRITICAL. Logs com nível inferior ao definido serão ignorados.

Exemplo de arquivo .env:

DEFAULT_LOG_PATH='data/logs/[now %Y]/[now %m.%b]/[now %d.%a]/[now %H]h/log.log' DEFAULT_LOG_TEMPLATE='%(asctime)s [%(name)s] - %(levelname)s - %(message)s' DEFAULT_TIME_FORMAT='%H:%M:%S' DEFAULT_LOG_LEVEL='INFO'

2. Formatação de Data e Hora

O sistema permite a formatação dinâmica de datas e horas no DEFAULT_LOG_PATH e dentro do DEFAULT_LOG_TEMPLATE, utilizando placeholders no formato [now FORMATO].

Opções de Formatação:

  • [now]: Data e hora atual.
  • %a: Nome abreviado do dia da semana (ex: Dom, Seg, Ter).
  • %A: Nome completo do dia da semana (ex: Domingo, Segunda-feira).
  • %w: Dia da semana como número (0 = Domingo, 6 = Sábado).
  • %d: Dia do mês (01 a 31).
  • %-d: Dia do mês (1 a 31).
  • %b: Nome abreviado do mês (ex: Jan, Fev, Mar).
  • %B: Nome completo do mês (ex: Janeiro, Fevereiro, Março).
  • %m: Mês como número (01 a 12).
  • %-m: Mês como número (1 a 12).
  • %y: Ano sem século (00 a 99).
  • %-y: Ano sem século (0 a 99).
  • %Y: Ano com século (ex: 2024).
  • %H: Hora (00 a 23).
  • %-H: Hora (0 a 23).
  • %I: Hora em formato 12 horas (01 a 12).
  • %-I: Hora em formato 12 horas (1 a 12).
  • %p: AM ou PM.
  • %x: Data no formato local.
  • %c: Data e hora no formato local.

Exemplos:

  • [now %d.%a] = 01.Seg
  • [now %d] = 01
  • [now %-d] = 1
  • [now %m] = 01
  • [now %b] = Jan
  • [now %B] = Janeiro
  • [now %m.%b] = 01.Jan
  • [now %y] = 24
  • [now %Y] = 2024
  • [now %d de %B de %Y] = 01 de Janeiro de 2024

3. Formato das Entradas de Log

A variável DEFAULT_LOG_TEMPLATE permite personalizar o formato de cada linha de log. Utilize as seguintes variáveis dentro do template:

  • %(asctime)s: Data e hora da ocorrência do log.
  • %(name)s: Nome do logger.
  • %(levelname)s: Nível do log (ex: DEBUG, INFO, ERROR).
  • %(message)s: Mensagem de log.

Exemplo:

DEFAULT_LOG_TEMPLATE='%(asctime)s [%(name)s] - %(levelname)s - %(message)s'

4. Criação do Caminho do Log

Ao definir o DEFAULT_LOG_PATH, certifique-se de que o caminho seja válido e não contenha caracteres especiais (espaços, barras, etc.). O sistema substituirá automaticamente espaços por underscores (_).

Exemplo:

data/logs/[now %Y]/[now %m.%b]/[now %d.%a]/[now %H]h/log.log

resultaria em um caminho como:

data/logs/2024/01.Jan/01.Seg/10h/log.log

Lembre-se de que o sistema criará os diretórios automaticamente, caso eles não existam. Se o caminho definido for inválido, o sistema poderá apresentar erros.

Este guia detalhado oferece uma visão completa das opções de configuração do sistema de logs, permitindo que você personalize-o de acordo com suas necessidades.

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

dmt_logger-0.1.2.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dmt_logger-0.1.2-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

Details for the file dmt_logger-0.1.2.tar.gz.

File metadata

  • Download URL: dmt_logger-0.1.2.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.12.5 Windows/11

File hashes

Hashes for dmt_logger-0.1.2.tar.gz
Algorithm Hash digest
SHA256 d3d1c93d2e375ef26b4e993eebe810feeb487ff35dec2b2bf9c719ecf2c99054
MD5 d9368cfa0461cca56e25cb4d82c6ea27
BLAKE2b-256 fc77393eadff92274623870ca5f72aaab68d6b208beb2897f7a616996dcf1404

See more details on using hashes here.

File details

Details for the file dmt_logger-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: dmt_logger-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 6.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.12.5 Windows/11

File hashes

Hashes for dmt_logger-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ee06124101382fd34a97713043e80576ca92884daa12d9887c2851a1ab17ba88
MD5 9b2717466efd47ddb01ff64360371de2
BLAKE2b-256 99173d4c67d6a5e669039601f9f91787f1be7033b6ec5e3ed0868263f961fcf6

See more details on using hashes here.

Supported by

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