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.0.tar.gz (4.6 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.0-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dmt_logger-0.1.0.tar.gz
  • Upload date:
  • Size: 4.6 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.0.tar.gz
Algorithm Hash digest
SHA256 ae65945ba51e3e06744f6b3a03da958a9d942ff5317476dfcb726bbf3335d7ac
MD5 1d5dee01938dabe6224f7a404fb63a8a
BLAKE2b-256 3faf308a177846109dfc3fe4f8bc860dcf69319e60f112363655c746cc2e7432

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dmt_logger-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.9 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eec8640d83f8b26434fb8518506e024dfaf65bd257436e0742c03fc1bb049ded
MD5 071f3aa520d2693b4f438aa97c1b7e95
BLAKE2b-256 da0fb874904361de306c7ff34e7ca35d6584abf609df5940268b2f8fcf223bdd

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