В моем приложении node.js всякий раз, когда я получаю запрос, я хотел бы «штамповать» его с помощью некоторого уникального идентификатора и отслеживать все действия (заявления журнала), связанные с этим запрос по этому идентификатору. Поэтому, когда приходит запрос, и я передаю его передачу в нижние уровни приложений (службы, вызовы базы данных и т. Д.), Я хочу, чтобы собрать все журналы, соответствующие данному идентификатору запроса, для восстановления своего путешествия через приложение.отслеживание потока запросов по ID в node.js
Итак, имея этот снимок, теперь я использую модуль request-local, но он совершает какую-то тяжелую магию, которая только что сбила меня (журналы из нескольких запросов получают одинаковый идентификатор).
Этот код в основном основан на Promises (не обычные обратные вызовы старого узла), и я использую функции более высокого порядка для обеспечения зависимостей от моих фактических функций (с созданием дерева приложений во время запуска).
Первое и вполне очевидное решение состоит в том, чтобы передать этот идентификатор запроса каждой вызываемой функции, но это катастрофа, и я не собираюсь этого делать.
Как вы (надежно) выполняете такое отслеживание запросов, явно не передавая этот id/context в качестве дополнительного аргумента для работы на всех уровнях вниз?
Что вы собственно вопрос? –
Да, не было достаточно явным. Отредактировано сейчас. –