diff --git a/src/preset/node/providers/express-request-middleware.ts b/src/preset/node/providers/express-request-middleware.ts index ae7d957..dcfbd5f 100644 --- a/src/preset/node/providers/express-request-middleware.ts +++ b/src/preset/node/providers/express-request-middleware.ts @@ -1,4 +1,4 @@ -import { withIsolationScope } from '@sentry/browser'; +import { withIsolationScope } from '@sentry/node'; import type express from 'express'; /** @@ -6,6 +6,7 @@ import type express from 'express'; * @return Промежуточный слой. */ export function provideExpressRequestMiddleware(): express.Handler { + // https://github.com/getsentry/sentry-javascript/discussions/9618#discussioncomment-9950984 return (req, res, next) => { withIsolationScope(() => { next(); diff --git a/src/preset/node/providers/log-handler-sentry.ts b/src/preset/node/providers/log-handler-sentry.ts index 37e2390..f35ae56 100644 --- a/src/preset/node/providers/log-handler-sentry.ts +++ b/src/preset/node/providers/log-handler-sentry.ts @@ -20,7 +20,9 @@ export function provideLogHandlerSentry(resolve: Resolve): LogHandler { tracesSampleRate: Number(source.get('SENTRY_TRACES_SAMPLE_RATE', 0)), profilesSampleRate: Number(source.get('SENTRY_TRACES_SAMPLE_RATE', 0)), integrations: [...getDefaultIntegrations({})], - skipOpenTelemetrySetup: true, + + // ВАЖНО: данная опция ломает группировку ошибок, активировать при необэодимости связать компоненты OTEL с Sentry + // skipOpenTelemetrySetup: true, }); // ВАЖНО: передаем функцию чтобы брать текущий scope в момент вызова метода logger'а diff --git a/src/preset/node/providers/main-express-app.ts b/src/preset/node/providers/main-express-app.ts index 3950560..9408ac6 100644 --- a/src/preset/node/providers/main-express-app.ts +++ b/src/preset/node/providers/main-express-app.ts @@ -55,9 +55,7 @@ export function provideMainExpressApp(resolve: Resolve): express.Application { const path = typeof routePath === 'string' ? routePath : routePath.path; const method = typeof routePath === 'string' ? 'get' : routePath.method; - app.use(path, middleware); - app[method](path, routeHandler); - app.use(path, endMiddleware); + app[method](path, middleware, routeHandler, endMiddleware); } // служебные маршруты (к ним не применяются промежуточные слои)