Skip to main content

Customized Python logging library with file rotation and HTTP forwarding

Project description

jaylog

Biblioteca de logging para Python com rotação de arquivos e envio HTTP para um endpoint remoto.

Instalação

pip install -U --no-cache-dir git+https://github.com/Gpocas/jaylog.git

Variáveis de ambiente

As variáveis usam o prefixo JAYLOG_. Podem ser definidas no ambiente do sistema ou em um arquivo .env / .env.logging na raiz do projeto.

Variável obrigatorio? Padrão Descrição
JAYLOG_APP_NAME SIM null Nome do serviço/bot (usado no nome do arquivo de log)
JAYLOG_LOG_DIR SIM null Caminho do diretório onde os arquivos de log serão salvos
JAYLOG_LOG_LEVEL NÃO INFO Nível mínimo de log (DEBUG, INFO, WARNING, ERROR, CRITICAL)
JAYLOG_LOG_MAX_BYTES NÃO 5242880 Tamanho máximo do arquivo de log antes de rotacionar (bytes)
JAYLOG_LOG_BACKUP_COUNT NÃO 5 Quantidade de arquivos de backup mantidos após rotação
JAYLOG_LOG_RETENTION_DAYS NÃO 7 Dias para manter arquivos de log antigos
JAYLOG_LOG_HTTP_TIMEOUT NÃO 5.0 Timeout em segundos para o envio HTTP
JAYLOG_LOG_HTTP_ENDPOINT NÃO null URL do endpoint que receberá os logs
JAYLOG_LOG_HTTP_API_KEY NÃO null Chave de autenticação enviada no header x-api-key
JAYLOG_LOG_HTTP_PROXY NÃO null URL do proxy para o envio HTTP (ex: http:\\user:password@server:port)
JAYLOG_LOG_SCREENSHOT_ENABLED NÃO false Captura screenshot no momento do log (true/false, apenas Windows)

Uso Simples

.env.logging

JAYLOG_APP_NAME=meu-bot
JAYLOG_LOG_DIR=C:\logs

main.py

from jaylog import JaylogSettings, get_logger

logger = get_logger(JaylogSettings())

logger.info("Mensagem de log")
logger.error("Erro ao processar")

Alterando Caminho padrão do .env

development.env

JAYLOG_APP_NAME=meu-bot
JAYLOG_LOG_DIR=C:\logs

main.py

from jaylog import JaylogSettings, get_logger


settings = JaylogSettings(_env_file='development.env')
logger = get_logger(settings)

logger.info("Mensagem de log")
logger.error("Erro ao processar")

Preparando para produção

[!IMPORTANT] HTTP_ENDPOINT e HTTP_API_KEY (opcionais) 📢

  • A configuração HTTP_ENDPOINT e HTTP_API_KEY não precisa ser feita em ambiente local ou de desenvolvimento
  • Se apenas uma das duas variaveis HTTP_ENDPOINT ou HTTP_API_KEYS for definida, o envio HTTP é ignorado.
  • Caso a aplicação execute em um ambiente que usa um proxy ntlm, defina JAYLOG_LOG_HTTP_PROXY

prodution.env

JAYLOG_APP_NAME=mlleu-bot
JAYLOG_LOG_DIR=C:\logs
JAYLOG_LOG_HTTP_ENDPOINT=https://meu-backend.com/logs/add
JAYLOG_LOG_HTTP_API_KEY=minha-chave
JAYLOG_LOG_HTTP_PROXY=http://username:password@proxy.com:8080

main.py

from jaylog import JaylogSettings, get_logger


settings = JaylogSettings(_env_file='prodution.env', _secrets_dir='/caminho/secrets/')
logger = get_logger(settings)

logger.info("Mensagem de log")
logger.error("Erro ao processar")

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

jaylog-0.1.4.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

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

jaylog-0.1.4-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file jaylog-0.1.4.tar.gz.

File metadata

  • Download URL: jaylog-0.1.4.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for jaylog-0.1.4.tar.gz
Algorithm Hash digest
SHA256 cd543fa3766f81b025a78efe81bae11ea7a4a01c56452fa9524165442d1c0448
MD5 48287bf3877544fbb804c618c723913e
BLAKE2b-256 77f3096abc86cc55db17c45529e54868114e334d65145b0655c0bd14d1cddc79

See more details on using hashes here.

File details

Details for the file jaylog-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: jaylog-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for jaylog-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 bedc33a359ee7c340818f6737e8531c9eb4fa9d671e49da9a8b99c926e9fae22
MD5 36ffbba3577f5c2069a5a4cc8817687e
BLAKE2b-256 a190d26d36d599187cb426100c5c24b8222a1594a6357f16b558e09de3886171

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