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.1.tar.gz (4.9 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.1-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dmt_logger-0.1.1.tar.gz
  • Upload date:
  • Size: 4.9 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.1.tar.gz
Algorithm Hash digest
SHA256 1e4582190f42a74bc5ee676939ddc9d13550927f3f2816d439ac999611a6bbbf
MD5 ade3f195d5fe9d299a7f24cb31e44f61
BLAKE2b-256 e61fb64097ee84bc8baca7b20244b6764ac1e543831b378829656d0e8aad6b0f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dmt_logger-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 6.1 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 99d85e88238ca62124b6101709384fe19f2dcd6c1c63cf814065d4e219100fdd
MD5 ed714083f54b6dc6a4714acc9d515022
BLAKE2b-256 1511ceda60e1db3ba039a9e002353258411876d1be14c7e1f6eaf3db17a1e8cb

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