Filter 404s from Sentry on client and server
Client ErrorBoundary: skip captureException for HTTP errors < 500. Server beforeSend: drop events where __serialized__.status is 404. Resolves JOURNAL-2 and JOURNAL-8 (scanner bot noise). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
e58f182221
commit
cb2a202a0f
4 changed files with 18 additions and 2 deletions
|
|
@ -15,6 +15,12 @@ Sentry.init({
|
|||
environment: sentryEnvironment,
|
||||
tracesSampleRate: 1.0,
|
||||
enabled: process.env.NODE_ENV === "production" && !process.env.CI,
|
||||
beforeSend(event) {
|
||||
// Drop 404s — they're expected (scanners, typos), not bugs
|
||||
const serialized = event.extra?.__serialized__ as Record<string, unknown> | undefined;
|
||||
if (serialized?.status === 404) return null;
|
||||
return event;
|
||||
},
|
||||
});
|
||||
|
||||
export const streamTimeout = 5_000;
|
||||
|
|
|
|||
|
|
@ -123,7 +123,10 @@ export default function App({ loaderData }: Route.ComponentProps) {
|
|||
}
|
||||
|
||||
export function ErrorBoundary({ error }: Route.ErrorBoundaryProps) {
|
||||
Sentry.captureException(error);
|
||||
// Don't report expected HTTP errors (404, 403) to Sentry
|
||||
if (!(isRouteErrorResponse(error) && error.status < 500)) {
|
||||
Sentry.captureException(error);
|
||||
}
|
||||
const { t } = useTranslation();
|
||||
|
||||
if (isRouteErrorResponse(error)) {
|
||||
|
|
|
|||
|
|
@ -33,7 +33,9 @@ export default function App() {
|
|||
}
|
||||
|
||||
export function ErrorBoundary({ error }: Route.ErrorBoundaryProps) {
|
||||
Sentry.captureException(error);
|
||||
if (!(isRouteErrorResponse(error) && error.status < 500)) {
|
||||
Sentry.captureException(error);
|
||||
}
|
||||
const { t } = useTranslation();
|
||||
|
||||
if (isRouteErrorResponse(error)) {
|
||||
|
|
|
|||
|
|
@ -13,6 +13,11 @@ Sentry.init({
|
|||
environment: sentryEnvironment,
|
||||
tracesSampleRate: 1.0,
|
||||
enabled: process.env.NODE_ENV === "production" && !process.env.CI,
|
||||
beforeSend(event) {
|
||||
const serialized = event.extra?.__serialized__ as Record<string, unknown> | undefined;
|
||||
if (serialized?.status === 404) return null;
|
||||
return event;
|
||||
},
|
||||
});
|
||||
|
||||
const port = Number(process.env.PORT ?? 3001);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue