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 jaylog
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jaylog-0.1.5.tar.gz.
File metadata
- Download URL: jaylog-0.1.5.tar.gz
- Upload date:
- Size: 6.8 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
013fa86528711e81b00b46df3f174116ba66ca3701d6a7d947caf2947f77e067
|
|
| MD5 |
f58f4ced81e2bd44d75713b2b329c89b
|
|
| BLAKE2b-256 |
44b070944d6260fc6fe5ed9a43254ef4086d5ef0adc249712a0f4cb70db29d98
|
File details
Details for the file jaylog-0.1.5-py3-none-any.whl.
File metadata
- Download URL: jaylog-0.1.5-py3-none-any.whl
- Upload date:
- Size: 9.6 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
35b97d8eeeef1d27db40bd3733316471167b7518c407677104c902a778b654bb
|
|
| MD5 |
5095c75055d276f3f74ace9a5132d366
|
|
| BLAKE2b-256 |
2ad7a80103c0b4fc24f836c44fb324d481a54b255b97b61468bf7d1fd4fda963
|