Saltar al contenido principal

Configuraciones iniciales

1. Instalar Sentry y mapear servicios

  • Crear proyectos separados para cada aplicación dentro de un proyecto:

    • Formato: [nombre del proyecto]-[especialidad]
    • Ejemplo: kaizen-client y kaizen-api
  • Integrar el SDK siguiendo la documentación oficial (usar el wizard recomendado):

Instalación en Next.js

Responde la instalación de esta manera:

instalacion-1 instalacion-2 instalacion-3 instalacion-4

  • Guarda el SENTRY AUTH TOKEN y NO lo subas a Git.
    Debes eliminar el siguiente archivo:

token-warning

  • Finalizamos la instalación:

installation-done

  • Si tu versión de Next.js es menor a 15.4.1, Sentry no funciona con Turbopack y verás este warning:

turbopack-warning

  • Entonces debes eliminar --turbo del script:

remove-turbo

Verificar sentryConfig

  • Asegúrate de que el DSN sea una variable de entorno
    El DSN conecta tu SDK con Sentry.

dsn-example-1 dsn-example-2

  • sentry.client.config será deprecado. Su contenido debe moverse al archivo nuevo:

client-config-deprecated

  • Si no tienes DSN, búscalo en el panel de Sentry → Client Keys DSN.
    Verifica que el breadcrumb sea TU proyecto.

client-keys-screen

Probar la instalación

  • Abre la página /sentry-example-page para validar la configuración.
  • Confirma que los eventos llegan al dashboard. (Solo verás el error de prueba)

test-event-dashboard

Limitar Sentry solo a producción

  • Según la documentación, tu next.config se ve así:

nextconfig-doc

  • En mi caso, se ve así: (solo cargar withSentryConfig en producción)
import { withSentryConfig } from '@sentry/nextjs';

/** @type {import('next').NextConfig} */
const nextConfig = {
transpilePackages: ['@avila-tools/ui'],
output: 'standalone',
eslint: { ignoreDuringBuilds: true },
};

const sentryWebpackPluginOptions = {
org: 'avilatek',
project: 'avila-tools-pruebas',
silent: !process.env.CI,
widenClientFileUpload: true,
disableLogger: true,
automaticVercelMonitors: true,
};

const config =
process.env.NODE_ENV === 'production'
? withSentryConfig(nextConfig, sentryWebpackPluginOptions)
: nextConfig;

export default config;