Configuración - Laravel

3 min de lectura Actualizado: 11.09.2026

Dónde está la configuración

Todo está en config/ray.php, y cada valor tiene su equivalente en .env.

ClavePor defectoSignificado
token, private_key-credenciales del proyecto; sin ambas el paquete calla
urlhttps://dockray.ioinstancia de DockRay
environmentAPP_ENVcolumna de entorno en el panel
releasenullversión de la aplicación desplegada
sample_rate1proporción de eventos de error enviados
traces_sample_rate0proporción de transacciones enviadas; 0 desactiva la medición
send_default_usertrueadjunta identificador, correo y nombre del usuario autenticado
send_default_piifalseadjunta la dirección IP y el user agent
ignore_exceptions[]clases de excepción que nunca se notifican
ignore_transactionshorizon*, telescope*, _debugbar*rutas nunca medidas, patrones como en Request::is()
options.max_request_body_sizemediumnone, small, medium o always
options.attach_stacktracefalsepila también en los mensajes simples

Entornos

Cada entorno debería informar con un nombre inequívoco: production, staging, preview. El nombre es una columna del panel y un filtro de la lista de errores, así que sin él una caída de producción se ve igual que un error provocado en una prueba. Deja el entorno local sin credenciales: sin token ni clave la integración se carga y permanece en silencio, de modo que no necesitas desactivarla con una condición aparte.

Qué dejar fuera de las notificaciones

ignore_exceptions actúa además de la propia lista dontReport de Laravel, así que ValidationException, AuthenticationException y HttpException se omiten sin ninguna configuración. Añade aquí las excepciones que en tu aplicación son un resultado normal y no una avería:

php
'ignore_exceptions' => [
    \App\Exceptions\PaymentDeclinedException::class,
    \Illuminate\Session\TokenMismatchException::class,
],

La regla es una sola: a DockRay llega aquello sobre lo que alguien debe actuar. Un pago rechazado previsible o un token de formulario caducado forman parte del funcionamiento normal y solo consumen el cupo mensual.

Nombre de las transacciones

Las transacciones se nombran según el patrón de la ruta: GET /orders/{order}, no GET /orders/8123. Así una ruta sigue siendo una fila del panel por muchos identificadores que pasen por ella. Si ves miles de transacciones distintas, casi siempre significa que la ruta está definida sin parámetro.

Contexto de usuario

El middleware adjunta el identificador, el correo y el nombre del usuario autenticado. Desactívalo con RAY_SEND_DEFAULT_USER=false o sustitúyelo por tu propio conjunto de campos:

php
Ray::setUser(['id' => $account->id, 'username' => $account->slug]);

La dirección IP y el user agent solo se adjuntan con RAY_SEND_DEFAULT_PII=true. Es una decisión independiente de la identidad del usuario, porque también afecta a los invitados.

Notificar a mano

php
use Dock\Ray\Laravel\Ray;
use Dock\Ray\Severity;

Ray::message('La importación nocturna terminó tarde', Severity::warning());

Colas y comandos de Artisan

Ambos se ejecutan fuera de la pila de middleware HTTP, así que notifican errores pero no generan transacciones. El hub es un singleton para todo el proceso: un worker de cola de larga vida mantiene un cliente y una conexión en lugar de construirlos en cada trabajo.

Proteger la clave privada

La clave privada es un secreto del proyecto, no un identificador. Guárdala en variables de entorno, en un gestor de secretos o en la configuración del servidor: nunca en el repositorio, en los registros, en una captura de pantalla ni en código que llegue al navegador. Un proyecto puede tener varias claves, así que producción y preproducción deberían tener la suya: cada una se revoca por separado sin interrumpir a las demás. La sospecha de que una clave se ha filtrado ya es motivo suficiente para revocarla y generar otra.

Siguiente Verificación y problemas habituales - Laravel
Habla con nosotros El chat está cerrado ahora mismo Horario: lu–vi 08:00–18:00