Search
Write a publication
Pull to refresh

Comments 9

Если сайт напрямую обращается к Sentry - разве нет риска, что кто-нибудь навалит туда мусорных данных, узнав api ключ?

Привет! На самом деле, клиентские приложения обращаются к Sentry через прокси-сервер. Он в том числе выполняет функцию защиты Sentry от потенциальных злоумышленников.

Спасибо за статью!

Подскажите, как обогащаете серверные логи юзер-специфичными данными? Начиная от user-agent и ip.

Хороший вопрос! На сервере обогащаем логи данными в точке входа - для нас это вызов getServerSideProps из page api Next.JS. Данные сохраняем в "контекст" логера (прим. юзер агент, ip, id сессии и тп). Поскольку инстанс единый на сервере, то все последующие вызовы методов логера имеют актуальный контекст в рамках одного запроса при SSR.

Поскольку инстанс единый на сервере, то все последующие вызовы методов логера имеют актуальный контекст в рамках одного запроса при SSR

Но это же гарантированная гонка между разными запросами, или под контекстом имеется ввиду Async Local Storage?

Все верно, под капотом используется ALS. Кстати прямо в документации есть простой пример использования ALS для сохранения контекста логирования в рамках жизненного цикла одного запроса.

А Next.js как-то предоставляет доступ к контексту, который он создаёт на каждый обработчик запроса?

Sign up to leave a comment.