Как добавить unique_id в мои журналы экспресс-узлов с помощью winston без всякого рефакторинга?
У меня есть приложение Express. Я хотел бы отследить все записи, которые были сделаны одним запросом.
Apache имеет модуль под названием mod_unique_id
который вводит в заголовки запроса специальный, содержащий уникальный хеш. Я хотел бы использовать такой хэш при регистрации (что угодно).
Например, если пользователю назначается apache значение unique_id со значением "abcdefg" и где-то в моем коде (контроллер, модель или что-то еще), я создаю журнал отладки, к которому я хотел бы присоединить "abcdefg" к каждой записи журнала.
Единственная идея, которая приходит мне в голову, - это создать экземпляр регистратора, используя app.use()
и передать этот экземпляр регистратора ВСЕМ функциям, которые необходимы (модели, библиотеки и т. д.) для генерации правильного ответа.
К сожалению, это заставит меня переписать большую часть кода, чтобы позволить старым функциям принять этот новый экземпляр регистратора.
Кто-нибудь знает лучший способ иметь один экземпляр "logger" для "запроса", который как-то доступен, не передавая этот "per-request-made-logger" чему-либо?
PS: я сейчас использую winston
войти