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.3.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.3-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dmt_logger-0.1.3.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.3.tar.gz
Algorithm Hash digest
SHA256 ad1b29ce10f6c16c4b09613e8b380c81b7bcad11f389c1da08f81adbd4fe0f36
MD5 014ed512dd77adb199434eae41a7d7ed
BLAKE2b-256 bd4851b41beb59592fd0423cf45217d7b29025d8267941e6da783d5cd8501418

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dmt_logger-0.1.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ffc78b413ea8f86e0dda7ab5244b5e94ee1e7815bc96d28961b69d9af6433dbc
MD5 533a756f621ed7855fe9148a20152632
BLAKE2b-256 bd0af35c589448f0b1b72705ad2567355408b5904b9e0624284f4d99143cc08d

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