Commit Graph

1 Commits

Author SHA1 Message Date
root
33fb270ecf feat(ecom-store): adicionar logger centralizado M5 (m5log)
Wrapper do loguru com 3 modos de saida para o motor e-commerce:
- Texto (default): console colorido + arquivos rotacionados em
  /root/ecommerce/logs/, retencao 30/90 dias, compressao gzip
- JSON padrao (M5_LOG_JSON=1): mesmo formato de arquivo, com
  serialize=True do loguru
- JSON clean (M5_LOG_JSON_CLEAN=1): sink customizado sem campo
  'text' e com exception.traceback_str como string unica, otimizado
  para ingestao em Loki/Elastic/n8n

API publica:
- get_logger(name) -> logger bindado com module + context
- bind_context(**kwargs) -> context manager para request_id/agent
- log_exception(log, message, **kwargs) -> captura traceback estruturado
- configure() -> idempotente, controla os 3 modos via env vars

Acompanha example_usage.py com 4 cenarios reais:
1. Sync marketplace (com bind_context por SKU)
2. Agente async (Telegram -> Amazon sync)
3. Pedido com erro de NF-e (log_exception com sefaz_status)
4. Job batch Black Friday (progresso a cada N SKUs)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-06 15:30:53 -03:00