# Scripts de Análise Avançada de Logs Este diretório contém scripts especializados para análise e monitoramento de logs da aplicação, desenvolvidos especificamente para auxiliar desenvolvedores na identificação e resolução de problemas. ## 📁 Estrutura dos Scripts ### 1. `advanced_log_analyzer.py` **Análise Retrospectiva Detalhada** Script principal para análise completa dos logs armazenados no banco de dados. Fornece relatórios detalhados sobre: - Distribuição de logs por nível e módulo - Detecção de erros e warnings - Problemas de importação de módulos - Análise de performance - Timeline de atividade - Eventos do Gradio ### 2. `realtime_monitor.py` **Monitoramento em Tempo Real** Monitor que acompanha os logs em tempo real e alerta sobre problemas críticos: - Alertas instantâneos para erros críticos - Detecção de problemas de performance - Monitoramento de erros de importação - Interface colorida no terminal - Buffer de últimos problemas detectados ## 🚀 Como Usar ### Análise Retrospectiva ```bash # Análise básica das últimas 24 horas python scripts/log_analysis/advanced_log_analyzer.py # Análise das últimas 6 horas python scripts/log_analysis/advanced_log_analyzer.py --hours 6 # Salvar relatório em arquivo python scripts/log_analysis/advanced_log_analyzer.py --output relatorio_logs.txt # Exportar análise em JSON python scripts/log_analysis/advanced_log_analyzer.py --json analise_logs.json # Especificar caminho do banco de dados python scripts/log_analysis/advanced_log_analyzer.py --db-path logs/application.db # Modo silencioso (apenas erros) python scripts/log_analysis/advanced_log_analyzer.py --quiet ``` ### Monitoramento em Tempo Real ```bash # Monitor básico (verifica a cada 5 segundos) python scripts/log_analysis/realtime_monitor.py # Monitor com intervalo personalizado python scripts/log_analysis/realtime_monitor.py --interval 10 # Modo verboso (mostra todos os logs) python scripts/log_analysis/realtime_monitor.py --verbose # Ajustar limite de alertas python scripts/log_analysis/realtime_monitor.py --threshold 10 # Especificar banco de dados python scripts/log_analysis/realtime_monitor.py --db-path logs/application.db ``` ## 📊 Tipos de Análise ### Problemas Detectados 1. **Erros de Importação** - `ImportError`, `ModuleNotFoundError` - Variáveis não definidas (`not defined`) - Problemas de estrutura de pacotes 2. **Problemas de Performance** - Operações que demoram mais de 1 segundo - Análise de tempo de resposta - Identificação de gargalos 3. **Erros Críticos** - Exceções não tratadas - Falhas de servidor - Problemas de memória 4. **Eventos do Sistema** - Inicialização do Gradio - Mudanças de configuração - Atividade de módulos ### Relatórios Gerados - **Distribuição por Nível**: Contagem de logs por severidade - **Módulos Mais Ativos**: Ranking de módulos por atividade - **Timeline**: Atividade por hora com gráfico visual - **Problemas Críticos**: Lista detalhada de erros e warnings - **Análise de Performance**: Operações lentas identificadas ## 🎨 Recursos Visuais ### Monitor em Tempo Real - **Cores por Severidade**: - 🚨 **Vermelho**: Problemas críticos (memória, servidor) - ⚠️ **Amarelo**: Problemas médios (importação, Gradio) - ℹ️ **Azul**: Informações e problemas menores - **Estatísticas em Tempo Real**: - Contador de logs verificados - Número de alertas gerados - Timestamp atual ### Relatórios de Análise - **Gráficos ASCII**: Timeline visual de atividade - **Emojis Informativos**: Categorização visual dos problemas - **Formatação Estruturada**: Seções bem organizadas ## 🔧 Configuração Avançada ### Variáveis de Ambiente ```bash # Definir caminho padrão do banco de logs export LOG_DB_PATH="logs/application.db" # Configurar intervalo padrão do monitor export MONITOR_INTERVAL=5 ``` ### Personalização de Padrões Os scripts podem ser facilmente modificados para detectar padrões específicos: ```python # Em advanced_log_analyzer.py self.patterns = { 'custom_error': re.compile(r'seu_padrao_aqui', re.IGNORECASE), # ... outros padrões } ``` ## 📈 Casos de Uso Comuns ### 1. Debugging de Problemas de Importação ```bash # Foca apenas em erros de importação python scripts/log_analysis/advanced_log_analyzer.py --hours 1 | grep -A5 "ERROS DE IMPORTAÇÃO" ``` ### 2. Monitoramento Durante Deploy ```bash # Monitor em tempo real durante atualizações python scripts/log_analysis/realtime_monitor.py --verbose --interval 2 ``` ### 3. Análise de Performance Semanal ```bash # Relatório completo da semana python scripts/log_analysis/advanced_log_analyzer.py --hours 168 --output relatorio_semanal.txt ``` ### 4. Exportação para Análise Externa ```bash # Dados em JSON para ferramentas externas python scripts/log_analysis/advanced_log_analyzer.py --json logs_data.json --quiet ``` ## 🛠️ Troubleshooting ### Problemas Comuns 1. **"Banco de dados não encontrado"** - Verifique se a aplicação está rodando - Confirme o caminho com `--db-path` - Certifique-se de que logs estão sendo gerados 2. **"Nenhum log encontrado"** - Reduza o período com `--hours` - Verifique se há atividade na aplicação - Confirme configuração de logging 3. **Monitor não mostra alertas** - Use `--verbose` para ver todos os logs - Ajuste `--threshold` se necessário - Verifique padrões de detecção ### Logs de Debug Para debug dos próprios scripts: ```bash # Ativar debug do Python PYTHONPATH=. python -v scripts/log_analysis/advanced_log_analyzer.py ``` ## 📝 Contribuição Para adicionar novos padrões de detecção ou melhorar os scripts: 1. Modifique os padrões regex nas classes 2. Adicione novos tipos de análise 3. Implemente novos formatos de saída 4. Teste com dados reais da aplicação ## 🔗 Integração Estes scripts podem ser integrados com: - **CI/CD**: Análise automática após deploys - **Monitoramento**: Alertas via webhook - **Dashboards**: Dados JSON para visualização - **Cron Jobs**: Relatórios periódicos automáticos --- **Desenvolvido para o Sistema de Análise de Mercado** *Versão 1.0.0 - Scripts de Análise Avançada de Logs*