Comparte en Facebook Twitter Google+

Laravel Telescope Banner

Laravel Telescope es el nuevo asistente de depuración de Laravel creado por Mohamed Said y Taylor Otwell. Es de código abierto y está disponible en GitHub de forma gratuita. Su instalación es tan simple como la de cualquier otro paquete de Laravel, solo debemos requerirlo mediante Composer. Una vez instalado simplemente debes ingresar a la dirección /telescope para acceder al panel de Telescope.

¿Para qué sirve Telescope?

Piensa en Telescope como un completo entorno de depuración con interfaz de usuario. Telescope está compuesto de una serie de watchers que observan cada solicitud entrante a tu aplicación, ya sean estas solicitudes HTTP, de la terminal etc. Estos watchers capturan toda la información sobre estas solicitudes y sus datos, como por ejemplo:

  • Solicitudes a la base de datos.
  • Información sobre la cache.
  • Eventos ejecutados.
  • Correos enviados.

En la interfaz gráfica de Telescope hay pestañas para inspeccionar cada una de las siguientes opciones, en las que cada una representa un watcher u observador:

  • Requests
  • Commands
  • Schedule
  • Jobs
  • Exceptions
  • Logs
  • Dumps
  • Queries
  • Models
  • Events
  • Mail
  • Notifications
  • Cache
  • Redis

Instalación de Telescope

Instalar Laravel Telescope en nuestra aplicación es bastante sencillo, como mencionamos anteriormente solo necesitamos usar Composer:

composer require laravel/telescope --dev

Ten en cuenta que Telescope requiere Laravel 5.7.7 o superior y la extensión de PHP bcmath.

Luego de instalar Telescope publica sus assets usando el siguiente comando en la terminal:

php artisan telescope:install

También debes ejecutar las migraciones ya que el paquete posee algunas tablas necesarias para su funcionamiento, ejecutamos el comando:

php artisan migrate

Luego de publicar los assets de Telescope su archivo de configuración principal estará ubicado en config/telescope.php. Este archivo de configuración te permite cambiar las opciones de tu watcher y cada una incluye una descripción de su propósito.

Finalmente podemos hacer algunas peticiones de prueba e ingresar a la dirección /telescope:

Muestra de Laravel Telescope

Actualizar Telescope

Al actualizar Telescope debes volver a publicar los assets:

php artisan vendor:publish --tag=telescope-assets --force

Por defecto Telescope expone su interfaz gráfica en /telescope, a la que sólo puedes acceder desde el entorno local. En app/Providers/TelescopeServiceProvider.php hay un método gate. Este gate controla el acceso a Telescope fuera del entorno local. Eres libre de modificar este gate para restringir el acceso a tu instalación de Telescope:

Explorando las opciones de Telescope

  • Requests: La opción Requests del menú de Laravel Telescope te permite ver todas las solicitudes HTTP que ocurren en tu aplicación. Al hacer click sobre una solicitud puedes ver todos los detalles e información de la misma.
  • Commands: La opción commands muestra todos los comandos que han sido ejecutados en tu aplicación y el valor de salida de dichos comandos. Al hacer click en un comando puedes ver todos los argumentos y opciones del mismo.
  • Schedule: Muestra las tareas programadas que han sido ejecutadas.
  • Jobs: Muestra todos los jobs que han sido ejecutados o están siendo ejecutados en la aplicación, así como su estado y detalles. Al hacer click sobre el job puedes ver toda la información de éste.
  • Exceptions: En Exceptions se registran y muestran todas las excepciones que han ocurrido en tu aplicación.
  • Logs: Logs muestra una lista básica de los registros o logs de tu aplicación. Al hacer click sobre un registro en específico puedes ver toda la información sobre éste.
  • Dumps: Permite ver capturas de los valores retornados al ejecutar el comando dump() en tu aplicación.
  • Queries: Muestra todas las consultas realizadas a la base de datos así como la duración de las mismas y el momento en que sucedieron.
  • Models: Muestra una lista de los modelos de tu aplicación y las acciones realizadas con estos.
  • Events: Muestra una lista de eventos así como sus listeners e información adicional.
  • Mail: Mail permite ver una lista de todos los correos enviados, a donde fueron enviados y en qué momento, así como información adicional.
  • Notifications: En Notifications puedes ver todas las notificaciones que ocurren en tu aplicación.
  • Cache: Muestra todos los registros de caché.
  • Redis: Muestra información sobre los registros de Redis en tu aplicación.

Material relacionado

No olvides seguirnos en Twitter y suscribirte a nuestro boletín:

Suscríbete a nuestro boletín

Te enviaremos publicaciones con consejos útiles y múltiples recursos para que sigas aprendiendo.

Aprende desarrollo web con Laravel, Vue.js y mucho más a partir de 9 USD al mes: ver planes.