intermediate
Логи
Пишите структурированные, коррелированные, с redaction события: что сделал сервис и почему упал.
Логи описывают дискретные события: запросы, решения, сбои, retry и события безопасности. Production-логи должны быть структурированными, коррелированными, с редактированием чувствительных полей и поиском.
logger.info({
event: 'order_created',
orderId,
requestId: req.headers['x-request-id'],
userId,
durationMs,
});
| Практика | Зачем | |----------|-------| | Structured JSON | Машинный разбор и агрегация | | Request/correlation ID | Трассировка действия пользователя между сервисами | | Дисциплина уровней | Сигнал vs шум | | Redaction | Без утечек credentials и PII |
На интервью: уровни логов, поля контекста, correlation ID, редактирование PII, sampling, retention и почему неструктурированный console spam — не observability.
Типовые ошибки: секреты или полные payload в логах; всё на `info` топит инциденты.
Компромисс — диагностическая полнота против стоимости, приватности и signal-to-noise.
Чеклист:
- Структурированные логи.
- Корреляция запросов между сервисами.
- Redaction чувствительных полей по умолчанию.
- Политики retention и доступа.