#next.js #sentry #micro-architecture #observability
Вопрос:
В настоящее время я создаю приложение, в котором есть несколько микро-приложений с NextJS с интеграцией sentry каждое.
Я централизовал свою конфигурацию sentry в специальной библиотеке, используемой всеми приложениями, но во время сборки микро-приложения два файла sentry.client.config.js
и sentry.server.config.js
с этим содержимым :
// sentry.client.config.js
import * as Sentry from "@sentry/nextjs";
import { Integrations } from "@sentry/tracing";
const SENTRY_DSN = process.env.SENTRY_DSN;
Sentry.init({
dsn: SENTRY_DSN,
integrations: [new Integrations.BrowserTracing()],
tracesSampleRate: 1.0
});
// sentry.server.config.js
import * as Sentry from "@sentry/nextjs";
const SENTRY_DSN: string | undefined = process.env.SENTRY_DSN;
Sentry.init({
dsn: SENTRY_DSN,
tracesSampleRate: 1.0
});
Я бы предпочел избегать копирования, вставляя одни и те же файлы во все мои микро-приложения.
Есть ли способ передать параметры напрямую в sentry, не имея этих двух файлов в каком-либо отдельном микро-приложении.
const SentryWebpackPluginOptions = {
authToken: SENTRY_AUTH_TOKEN,
org: SENTRY_ORG,
url: "https://sentry.io/",
project: SENTRY_PROJECT,
include: ".",
ignore: ["node_modules"],
urlPrefix: `~/_next/dist/apps/${MAPP_ID}/exported/_next`,
silent: true
// For all available options, see:
// https://github.com/getsentry/sentry-webpack-plugin#options.
};