feat: integrate Sentry for error monitoring in Next.js application

- Added Sentry configuration for edge features in `sentry.edge.config.ts`
- Added Sentry configuration for server-side in `sentry.server.config.ts`
- Created a sample API route to demonstrate error tracking in `src/app/api/sentry-example-api/route.ts`
- Developed a frontend page to trigger and log errors in `src/app/sentry-example-page/page.tsx`
- Configured client-side Sentry initialization in `src/instrumentation-client.ts` with Replay integration
- Implemented instrumentation registration logic in `src/instrumentation.ts`
This commit is contained in:
2026-06-26 12:48:29 +08:00
parent 09cbd54c79
commit 7dde951306
10 changed files with 1653 additions and 22 deletions
+31
View File
@@ -0,0 +1,31 @@
// This file configures the initialization of Sentry on the client.
// The added config here will be used whenever a users loads a page in their browser.
// https://docs.sentry.io/platforms/javascript/guides/nextjs/
import * as Sentry from "@sentry/nextjs";
Sentry.init({
dsn: "https://a9390ae6d4b06c851854d48b070bb4cf@o4511511166713856.ingest.us.sentry.io/4511612532228096",
// Add optional integrations for additional features
integrations: [Sentry.replayIntegration()],
// Define how likely traces are sampled. Adjust this value in production, or use tracesSampler for greater control.
tracesSampleRate: 1,
// Enable logs to be sent to Sentry
enableLogs: true,
// Define how likely Replay events are sampled.
// This sets the sample rate to be 10%. You may want this to be 100% while
// in development and sample at a lower rate in production
replaysSessionSampleRate: 0.1,
// Define how likely Replay events are sampled when an error occurs.
replaysOnErrorSampleRate: 1.0,
// Enable sending user PII (Personally Identifiable Information)
// https://docs.sentry.io/platforms/javascript/guides/nextjs/configuration/options/#sendDefaultPii
sendDefaultPii: true,
});
export const onRouterTransitionStart = Sentry.captureRouterTransitionStart;