Instalación - Laravel

2 min de lectura Actualizado: 11.09.2026

Antes de empezar, crea un proyecto en el panel de DockRay. En sus ajustes encontrarás el token del proyecto - el identificador público que forma parte de la URL de ingesta - y en la pestaña Claves de API generarás una clave privada. La clave se muestra una sola vez, al generarla: DockRay guarda únicamente su hash. Si todavía no tienes un proyecto, empieza por Primeros pasos.

Requisitos

  • Laravel 10 o posterior,
  • PHP 8.2 o posterior,
  • Composer 2.

Instalar el paquete

bash
composer require dockcodes/dock-ray-laravel
php artisan vendor:publish --tag=ray-config

El service provider se detecta automáticamente: no hay nada que registrar a mano. Publicar la configuración crea config/ray.php; sin ella el paquete sigue funcionando con sus valores por defecto.

Credenciales

bash
RAY_TOKEN=token-del-proyecto
RAY_PRIVATE_KEY=clave-privada-del-proyecto
RAY_TRACES_SAMPLE_RATE=0.2

Sin RAY_TOKEN y RAY_PRIVATE_KEY el paquete permanece inactivo: ni peticiones ni errores. Por eso puedes conectarlo una vez y no envolverlo en ninguna condición: el entorno local simplemente no recibe credenciales.

Conectar el envío de excepciones

Laravel 11 y 12, en bootstrap/app.php:

php
use Dock\Ray\Laravel\Ray;
use Illuminate\Foundation\Configuration\Exceptions;

->withExceptions(function (Exceptions $exceptions) {
    $exceptions->reportable(fn (Throwable $e) => Ray::report($e));
})

Laravel 10, en app/Exceptions/Handler.php:

php
public function register(): void
{
    $this->reportable(fn (Throwable $e) => Ray::report($e));
}

Ray::report() nunca lanza ni relanza: una caída de la monitorización no debe romper el manejo de errores desde el que se la llamó. Además devuelve void, así que no corta el propio registro del framework.

Medición del tiempo de peticiones

La medición requiere añadir el middleware a los grupos que quieras medir, normalmente web y api:

php
->withMiddleware(function (Illuminate\Foundation\Configuration\Middleware $middleware) {
    $middleware->appendToGroup('web', \Dock\Ray\Laravel\Http\Middleware\TrackTransaction::class);
})

Nada se mide mientras ray.traces_sample_rate sea 0.

La primera prueba

Lo más sencillo, desde Tinker: la llamada recorre el mismo camino que el envío desde la aplicación.

bash
php artisan tinker --execute="\Dock\Ray\Laravel\Ray::message('Mensaje de control DockRay');"
Siguiente Configuración - Laravel
Habla con nosotros El chat está cerrado ahora mismo Horario: lu–vi 08:00–18:00