• #laravel
  • #logs
  • #package

Laravel Pail: Seguimiento de registros de logs en tiempo real

Introducción

A menudo necesitamos revisar los archivos de logs para hacer debug de alguna funcionalidad, para estos casos se creo Laravel Pail, la forma más fácil de hacer seguimiento a los archivos de logs en tiempo real.

Antes de Laravel Pail, se hacia el seguimiento usando el comando tail:

Terminal
tail -f storage/logs/laravel.log

Con este comando obtenemos los nuevos registros que llegan al archivo de laravel.log, aunque de una forma nada elegante.

Instalación de Laravel Pail

Antes de seguir con la instalación, debemos tener en cuenta que el paquete tiene ciertos requerimientos:

Una vez cumplidos estos requerimientos, podemos proceder con la instalación con el siguiente comando:

Terminal
composer require laravel/pail

Usando Pail para hacer seguimiento de los logs

Para usar el paquete Laravel Pail, unicamente debemos ejecutar siguiente comando en nuestra terminal:

Laravel Pail

El comando también tiene opciones para obtener mas información de los logs

Terminal
# Muestra más detalles de los logs
php artisan pail -v
# Muestra más detalles y el stack trace de los logs
php artisan pail -vv

Filtrando logs

El paquete Pail incluye también diferentes opciones para filtrar logs, entre estos tenemos:

Filtro por contenido

Este filtro es el más general, ya que hace el filtro por el tipo, archivo, mensaje y el contenido del stack trace.

Terminal
php artisan pail --filter="QueryException"

Filtro por mensaje

Para filtrar por el mensaje del log, usamos la siguiente opción.

Terminal
php artisan pail --message="User created"

Filtro por el nivel

También podemos filtrar por el nivel del log.

Terminal
php artisan pail --level=warning

Filtro por usuario

Por último podemos filtrar por un usuario especifico, con esto solo obtendremos los logs del usuario en particular.

Terminal
php artisan pail --user=1

Conclusión

Una diferencia muy grande con el comando tail aparte del estilo con el que se muestran los logs, es que con Laravel Pail esta construido para funcionar con cualquier tipo de log driver que tengamos configurado, por ejemplo: Sentry o Flare, ademas de los filtros que nos permiten ver cierta información especifica en particular.

Puedes ver más información en la documentación oficial.

Te puede interesar: Pluralizar textos en Laravel