feat: add logging
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
## Зачем
|
||||
|
||||
Текущие точечные backend-логи не имеют единого формата и сквозной связи с HTTP-запросом, поэтому ошибки API и вызовов T-Bank трудно диагностировать. Нужны безопасные структурированные события, которые позволяют связать ответ клиенту с обработкой запроса и внешней интеграцией без записи секретов или финансовых данных.
|
||||
|
||||
## Что меняется
|
||||
|
||||
- Ввести единый JSON-формат backend-логов в stdout для lifecycle-событий, HTTP-запросов, авторизации, доменных сервисов и вызовов T-Bank.
|
||||
- Генерировать server-side request ID для каждого HTTP-запроса, передавать его в связанные события и возвращать клиенту в `X-Request-ID` через CORS.
|
||||
- Установить уровни и обязательный безопасный контекст для HTTP- и T-Bank-событий, включая стабильный public error code для ошибок.
|
||||
- Исключить из логов секреты, HTTP-тела, заголовки, прямые персональные и финансовые данные; разрешить только внутренние идентификаторы пользователя и брокерского счёта.
|
||||
- Добавить валидируемую конфигурацию `LOG_LEVEL` и мигрировать существующие ручные backend-логи на общую схему.
|
||||
|
||||
## Возможности
|
||||
|
||||
### Новые возможности
|
||||
- `backend-structured-logging`: безопасные структурированные backend-логи, сквозная корреляция HTTP-запросов и событий T-Bank.
|
||||
|
||||
### Изменяемые возможности
|
||||
|
||||
_Нет._
|
||||
|
||||
## Влияние
|
||||
|
||||
- Backend: bootstrap, HTTP pipeline, CORS, exception handling, auth, T-Bank client и сервисы с существующими ручными логами.
|
||||
- Зависимости: `nestjs-pino` для JSON-вывода, request-scoped logger и интеграции с Nest.
|
||||
- Конфигурация: новая валидируемая переменная окружения `LOG_LEVEL`.
|
||||
- API: response header `X-Request-ID` становится доступным browser-клиенту через CORS; тело и status существующих ответов не меняются.
|
||||
- Инфраструктура: backend пишет JSON в stdout; collector, хранение, alerting и frontend telemetry не входят в это изменение.
|
||||
Reference in New Issue
Block a user