* Only run Sentry in production * Only run Sentry in production for instrumentation-client --------- Co-authored-by: Keith Williams <keithwillcode@gmail.com>
23 lines
657 B
TypeScript
23 lines
657 B
TypeScript
import { type Instrumentation } from 'next'
|
|
|
|
import * as Sentry from "@sentry/nextjs";
|
|
|
|
export async function register() {
|
|
if (process.env.NODE_ENV === "production") {
|
|
if (process.env.NEXT_PUBLIC_SENTRY_DSN && process.env.NEXT_RUNTIME === "nodejs") {
|
|
await import("./sentry.server.config");
|
|
}
|
|
if (process.env.NEXT_PUBLIC_SENTRY_DSN && process.env.NEXT_RUNTIME === "edge") {
|
|
await import("./sentry.edge.config");
|
|
}
|
|
}
|
|
}
|
|
|
|
export const onRequestError: Instrumentation.onRequestError = ( err,
|
|
request,
|
|
context) => {
|
|
if (process.env.NODE_ENV === "production") {
|
|
Sentry.captureRequestError(err, request, context);
|
|
}
|
|
};
|