Monitor de arquivo
Em sistemas reais, logs são arquivos que crescem continuamente. Um monitor eficiente não relê o arquivo inteiro a cada ciclo — ele lê apenas as linhas novas desde a última verificação. Esse padrão aparece em ferramentas como tail -f, agentes de monitoramento e pipelines de análise em tempo real.
O PROBLEMA
Monitore log.txt por palavras-chave (ERROR, CRITICAL) em loop com time.sleep.
EXEMPLO
[ALERTA] ERROR detectado
SOBRE O CONCEITO
O segredo é salvar a posição de leitura com seek() e tell(). Sem isso, a cada iteração do while você leria o arquivo do início, gerando alertas repetidos. O erro comum é não chamar seek() para retornar ao mesmo ponto ou não usar tell() para armazenar a posição após a leitura. Com seek(0, 2) você vai ao final do arquivo na primeira execução; depois, basta ler da posição atual e atualizá-la. O time.sleep() evita consumo excessivo de CPU.
RESOLUÇÃO