Files
docs/adr/008-pino-backend-logging.md

23 lines
1.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 008. Pino для backend-логирования
**Status:** Accepted
## Context
Backend нуждается в структурированных JSON-логах с HTTP request context, уровнями, redaction и интеграцией с Nest. Самописный logger повторял бы эту инфраструктуру и переносил бы её сопровождение в проект.
## Decision
Использовать `nestjs-pino` как единственный backend logger. Он предоставляет Pino JSON stdout, request-scoped logging и интеграцию с Nest; безопасный набор HTTP-полей и redaction настраиваются в приложении.
## Consequences
Backend получает новую production dependency и использует Pino API для application-событий. Collector, retention и alerting остаются за пределами приложения.
Логирование сосредоточено на инфраструктурной границе backend и связывает
события с контекстом HTTP-запроса. В журнал передаются стабильное имя события
и разрешённые скалярные поля. Неизвестные поля отбрасываются; полные запросы,
тела ответов и секреты не являются допустимыми данными журнала. Фильтрация
полей не защищает секрет, помещённый в свободный текст сообщения или stack:
содержимое таких сообщений требует отдельной проверки.