-
Notifications
You must be signed in to change notification settings - Fork 0
/
sentry.client.config.js
41 lines (36 loc) · 1.23 KB
/
sentry.client.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// This file configures the initialization of Sentry on the browser.
// The config you add here will be used whenever a page is visited.
// https://docs.sentry.io/platforms/javascript/guides/nextjs/
import { WebError } from "@fwl/web/dist/errors";
import * as Sentry from "@sentry/nextjs";
try {
const sentryUserConsent = document.cookie
? document.cookie
.split("; ")
.find((cookie) => cookie.startsWith("user-consent"))
.split("=")[1]
: undefined;
const parsedSentryUserConsent = sentryUserConsent
? JSON.parse(decodeURIComponent(sentryUserConsent)).sentry
: false;
if (parsedSentryUserConsent) {
Sentry.init({
dsn: "https://[email protected]/5387583",
tracesSampleRate: 1.0,
environment:
process.env.NEXT_PUBLIC_SENTRY_ENVIRONMENT || process.env.NODE_ENV,
enabled:
process.env.NEXT_PUBLIC_SENTRY_ENVIRONMENT === "development"
? false
: process.env.NODE_ENV === "production",
beforeSend(event, hint) {
if (hint.originalException instanceof WebError) {
return null;
}
return event;
},
});
}
} catch (error) {
// eslint-disable-next-line no-empty
}