Skip to main content

Um logger inteligente para projetos Python, com suporte a cores, arquivos e integrações com Slack/Telegram.

Project description

📚 SmartLogs - Logger Inteligente para Projetos Python

SmartLogs é um pacote robusto e flexível para logging em Python. Com suporte a logs coloridos no terminal, exportação para arquivos, integração com Slack e Telegram, ele foi projetado para simplificar o gerenciamento de logs em qualquer projeto Python.


Funcionalidades Principais

  • Logs coloridos no terminal para melhor visualização.
  • 📝 Registro automático de logs em arquivos.
  • 🔔 Integração com Slack e Telegram para alertas.
  • Suporte a níveis de log: DEBUG, INFO, WARNING, ERROR, CRITICAL.
  • 📊 Customização avançada via variáveis de ambiente.
  • 🛠 Compatível com frameworks como Django, Flask e FastAPI.
  • 🔍 Recursos avançados de debug para desenvolvimento e troubleshooting.

Instalação

Instale o SmartLogs diretamente do PyPI:

pip install SmartLogs

💡 Requisitos: Python 3.6 ou superior.


🚀 Como Usar

Logging Simples

from SmartLogs.logger import SmartLogger

logger = SmartLogger()
logger.info("Sistema inicializado com sucesso!")
logger.warning("Atenção! Limite de requisições atingido.")
logger.error("Erro crítico detectado.")

📝 Logs em Arquivo

logger = SmartLogger(log_file="logs.txt", level="DEBUG")
logger.debug("Esta mensagem será registrada no arquivo logs.txt")

🔔 Integração com Slack

import os
os.environ["SMARTLOGS_ENABLE_SLACK"] = "True"
os.environ["SMARTLOGS_SLACK_WEBHOOK"] = "https://hooks.slack.com/services/..."
logger.info("Alerta enviado para Slack!")

📲 Integração com Telegram

os.environ["SMARTLOGS_ENABLE_TELEGRAM"] = "True"
os.environ["SMARTLOGS_TELEGRAM_BOT_TOKEN"] = "SEU_BOT_TOKEN"
os.environ["SMARTLOGS_TELEGRAM_CHAT_ID"] = "SEU_CHAT_ID"
logger.critical("Erro grave! Notificando via Telegram.")

🔍 Recursos de Debug

from SmartLogs.debug import DebugLogger

# Inicializa o logger de debug
debug_logger = DebugLogger(log_file="debug.log")

# Log com stack trace
def funcao_problema():
    debug_logger.debug_with_stack("Erro encontrado aqui!")

# Log de variáveis de ambiente
debug_logger.log_environment_variables(["PATH", "PYTHONPATH"])

# Profiling de função
@debug_logger.profile
def funcao_lenta():
    time.sleep(1)
    return "concluído"

# Inspeção de variáveis
variaveis = {"x": 10, "y": 20}
debug_logger.inspect_variables(locals())

🏃 Executando Testes

pytest tests/ --maxfail=1 --disable-warnings -v

📈 Para gerar relatório de cobertura:

pytest --cov=SmartLogs --cov-report=html

🏗 Estrutura do Projeto

SmartLogs/
│
├── SmartLogs/                 # 📦 Código do pacote
│   ├── __init__.py
│   ├── logger.py              # 🔥 Implementação principal do logger
│   ├── debug.py               # 🔍 Recursos avançados de debug
│   ├── config.py              # ⚙️ Configurações globais do logger
│
├── tests/                     # 🧪 Testes unitários
│   ├── test_logger.py
│   ├── test_debug.py
│
├── setup.py                   # ⚙️ Configuração do pacote
├── README.md                  # 📚 Documentação do projeto
├── LICENSE                    # 📜 Licença MIT
└── MANIFEST.in                 # 📋 Inclusão de arquivos extras

📝 Licença

Distribuído sob a Licença MIT. Veja o arquivo LICENSE para mais detalhes.


👨‍💻 Autor

Desenvolvido por Roberto Lima 🚀✨


💬 Contato


Gostou do projeto?

Deixe uma ⭐ no repositório e compartilhe com a comunidade! 🚀✨

git clone https://github.com/robertolima-dev/SmartLogs.git
cd SmartLogs
pip install -e .

🌟 O que este README oferece?

  • 🎯 Descrição clara do projeto e seu propósito.
  • 🛠 Instruções detalhadas de instalação e uso prático.
  • 🏗 Estrutura do projeto para facilitar a navegação.
  • 📝 Licença e informações do autor para transparência.

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

smartlogs-1.0.0.tar.gz (6.9 kB view details)

Uploaded Source

Built Distribution

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

smartlogs-1.0.0-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file smartlogs-1.0.0.tar.gz.

File metadata

  • Download URL: smartlogs-1.0.0.tar.gz
  • Upload date:
  • Size: 6.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.17

File hashes

Hashes for smartlogs-1.0.0.tar.gz
Algorithm Hash digest
SHA256 b4625d32803218373e91925b5986a1cd43317f622034d06e10440c2224657093
MD5 dce383664435032ac371bfeed7d24b33
BLAKE2b-256 5cf2f141e55eb9b0e1393042ff534d9938ed26c09eaf793cd8be33d90b08f31c

See more details on using hashes here.

File details

Details for the file smartlogs-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: smartlogs-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.17

File hashes

Hashes for smartlogs-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 02da271c9b7e332687426c28b4f0181f90cac96e33fb1c75d8d49a0edf2db5e6
MD5 a97638749a1552c7524a7284c5364ec5
BLAKE2b-256 1ab2e76764bfe5d889bd46a112ffedf9ad30346f2a8ed43e0357cdba82b866fb

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