# Monitoramento com Sentry — Fase 20.2

Configuração do Sentry para captura de erros (PHP e frontend).

## Frontend (Next.js)

```bash
npx @sentry/wizard@latest -i nextjs
```

Ou manualmente:

```bash
npm install @sentry/nextjs
```

**next.config.js:**
```js
const { withSentryConfig } = require('@sentry/nextjs');
module.exports = withSentryConfig(nextConfig, {
  org: 'sua-org',
  project: 'loterica-premiada',
  authToken: process.env.SENTRY_AUTH_TOKEN,
});
```

**Variáveis:**
- `NEXT_PUBLIC_SENTRY_DSN` — DSN do projeto (público)
- `SENTRY_AUTH_TOKEN` — Para upload de source maps (build)

## API (PHP)

```bash
composer require sentry/sentry
```

**Bootstrap (api/public/index.php ou config):**
```php
\Sentry\init(['dsn' => getenv('SENTRY_DSN') ?: '']);
```

**Captura automática:** Exceções não tratadas são enviadas ao Sentry.

## Variáveis de ambiente

| Variável | Onde | Descrição |
|----------|------|-----------|
| NEXT_PUBLIC_SENTRY_DSN | Frontend | DSN do projeto Sentry |
| SENTRY_DSN | API | DSN para PHP |
| SENTRY_AUTH_TOKEN | Build | Token para source maps |

## Referências

- https://docs.sentry.io/platforms/javascript/guides/nextjs/
- https://docs.sentry.io/platforms/php/
- ideias-melhorias.md §10
