AULA 63
MÓDULO 8
DevOps
⏱ 50 min
Logs e Observabilidade
Os 3 pilares: logs, métricas, traces. Pino: structured logging em JSON. Por que nunca usar console.log em produção.
observabilidadelogsmétricastracesPinoJSONDatadogSentry
Logs, Métricas e Traces
Observabilidade é a capacidade de entender o que está acontecendo dentro do sistema a partir de dados externos. Os 3 pilares: logs, métricas e traces distribuídos.
📋
Logs
Registro textual de eventos. O que aconteceu? Quando? Com quais parâmetros?
📊
Métricas
Números ao longo do tempo. Requests/s, latência P99, error rate.
🔗
Traces
Rastreio distribuído. De onde veio o request? Quais serviços tocou?
Pino — structured logging
Pino é o logger estruturado mais rápido para Node.js. Emite logs em JSON — parseáveis por ferramentas como Datadog, BetterStack e Grafana.
nunca use console.log em produção
console.log não tem nível, não é estruturado e não vai para ferramentas de observabilidade. Use Pino ou Winston com JSON estruturado.
javascript
// Pino — structured logging const pino = require('pino') const logger = pino({ level: process.env.LOG_LEVEL || 'info', // em dev: formatação legível transport: process.env.NODE_ENV !== 'production' ? { target: 'pino-pretty' } : undefined }) // Middleware de logging de requests app.use((req, res, next) => { const start = Date.now() res.on('finish', () => { logger.info({ method: req.method, url: req.url, status: res.statusCode, ms: Date.now() - start, userId: req.user?.id }, 'request') }) next() }) // Output JSON (produção): // {"level":30,"time":1700000000,"method":"GET","url":"/users","status":200,"ms":12,"userId":"uuid","msg":"request"}
quiz · aula 63
Teste seus conhecimentos
0/3 respondidas
QUESTÃO 01
Por que usar logs estruturados em JSON em vez de strings?
QUESTÃO 02
Qual a diferença entre métricas e logs?
QUESTÃO 03
O que são distributed traces?
0/3