Logs de texto são difíceis de pesquisar. Com Monolog e JSON formatter, cada entrada vira um objeto consultável por ferramentas como Loki ou Papertrail.
Logs de texto são difíceis de usar
Logs no formato [2026-04-29 12:00:00] ERROR: mensagem aqui são legíveis para humanos mas difíceis de filtrar, agregar e alertar. JSON structured logging resolve isso: cada entrada é um objeto com campos consistentes.
Monolog 3 e o JsonFormatter
Monolog 3 é a versão atual e segue PSR-3. Com JsonFormatter, cada linha de log vira um JSON válido:
$handler = new StreamHandler('php://stderr');
$handler->setFormatter(new JsonFormatter());
Contexto rico
O segundo parâmetro de cada método de log aceita um array de contexto que é serializado junto com a mensagem. Isso permite incluir user_id, request_id, IP e qualquer dado relevante sem concatenar strings:
$logger->warning('Login failed', ['email' => $email, 'ip' => $ip]);
Telegram para erros críticos
Um handler personalizado que faz POST para a API do Telegram envia alertas imediatos para o desenvolvedor quando um erro error ou superior ocorre em produção. É uma alternativa leve a ferramentas como Sentry para projetos menores.
Log é observabilidade básica. Sem logs estruturados em produção, você está voando às cegas.
Publicado em
DevOps & DeployExplorar por tema