1dd7053ebd
Backend : sentry/sentry-symfony branché en prod uniquement (bundle prod-only, exceptions seules, 4xx ignorés, release = app.version), DSN via SENTRY_DSN (runtime, infra/prod/.env). Frontend : @sentry/nuxt chargé seulement si NUXT_PUBLIC_SENTRY_DSN présent (donc au build prod), upload des source maps gated sur les secrets. DSN front et secrets passés en build-args (Dockerfile) depuis les secrets Gitea (CI). Doc README (section Error tracking) + .env.example. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
19 lines
622 B
TypeScript
19 lines
622 B
TypeScript
import * as Sentry from '@sentry/nuxt'
|
|
|
|
// Init Sentry cote client (SPA). Le DSN provient du build prod (NUXT_PUBLIC_SENTRY_DSN).
|
|
// Si le DSN est vide (dev), Sentry.init est un no-op : rien n'est envoye.
|
|
const config = useRuntimeConfig()
|
|
const dsn = config.public.sentry?.dsn
|
|
|
|
if (dsn) {
|
|
Sentry.init({
|
|
dsn,
|
|
environment: config.public.sentry?.environment,
|
|
// Pas d'APM/tracing (hors perimetre ticket #146) : on ne remonte que les erreurs.
|
|
tracesSampleRate: 0,
|
|
// Pas de session replay (volume).
|
|
replaysSessionSampleRate: 0,
|
|
replaysOnErrorSampleRate: 0,
|
|
})
|
|
}
|