El registro de errores es fundamental para el desarrollo de cualquier aplicación, la posibilidad de ver las fallas del sistema durante el proceso de construcción ofrece al programador la ventaja de solucionar problemas sin tener que hacer una exhaustiva revisión del código.

Es importante que tu aplicación en producción no arroje errores de sistema, para ello debes ser cuidadoso programando y validando todo los datos del usuario, pero los sistemas no son infalibles así que si llegara a fallar no debes mostrar los errores a los usuarios finales por medidas de seguridad.

Cuando llevamos nuestra aplicación de un entorno de desarrollo a uno de pruebas (como un beta test) o inclusive a un entorno de producción, es posible que se puedan presentar fallas y aunque no se mostrarán en pantalla, debería existir la posibilidad de llevar un registro de estas para continuar con el proceso de depuración de forma transparente.

Veamos un ejemplo de esto:

Primero nos aseguramos de tener lo siguiente en el archivo .env de la aplicación

APP_DEBUG=true

Vamos a editar un poco el HomeController para llamar a una vista inexistente en el sistema

public function index()
    {
        return view('front-page');
    }

Si intentamos ingresar a la ruta url_de_tu_proyecto/home obtendremos un error como éste:

log-error

Este error nos indica que la vista no ha sido encontrada, inclusive en la línea 5 nos dice en cuál archivo está sucediendo el llamado y en que línea esta el error.

Si cambiamos la configuración del archivo .env a lo siguiente

APP_DEBUG=false

Ya no aparecerá en pantalla lo anterior, tan solo se mostrará una pequeña advertencia.

log-wrong

Si estamos en la etapa de desarrollo, podemos ver el problema y solucionar rápidamente, pero cuando esto ocurre en manos de un usuario final, lo más probable es que pasemos mucho tiempo tratando de recrear los pasos que esa persona llevó a cabo, para obtener dicho error en nuestro entorno local hasta que podamos encontrarlo y solucionarlo.

Laravel Log Viewer

Se trata de un paquete de Laravel que registra todos los errores ocurridos en la aplicación, inclusive cuando se inhabilita el modo debug.

Instalación de laravel Log Viewer

Para instalar vía composer ejecuta desde la terminal el siguiente comando

composer require rap2hpoutre/laravel-log-viewer

Luego agregamos el service provider en el archivo config/app.php

'Rap2hpoutre\LaravelLogViewer\LaravelLogViewerServiceProvider',

Listo, con esto desde ahora tu aplicación llevará registro de los errores ocurridos. Para acceder a este registro basta con agregar la siguiente ruta en el archivo routes.php

Route::get('logs', '\Rap2hpoutre\LaravelLogViewer\LogViewerController@index');

Nota: puedes cambiar «logs» por el nombre de la ruta de tu preferencia y es recomendable que crees un middleware que permita el acceso solo a ciertos niveles de usuarios a esta ruta, te recomiendo ver :  Crea tus propios Middleware con Laravel 5

Ahora ingresa a url_de_tu_proyecto/logs y tendrás la siguiente vista

logs-view

 

Lo genial de este componente es que te agrupa todos los logs por fecha, los puedes ordenar por fecha – hora y puedes ver el contenido de cada uno de ellos.

Si haces click en el icono a la derecha de cada registro tendrás una vista más detallada.

log-all

 

De esta forma podrás llevar un seguimiento constante del buen funcionamiento de tu aplicación en cualquiera de los ambientes en los cuales se encuentre tu proyecto.

Si te gustó esta publicación compártela en redes sociales y por supuesto no olvides dejar tus dudas y comentarios.

Lecturas recomendadas 

Regístrate hoy en Styde y obtén acceso a todo nuestro contenido.

Lección anterior Autenticación en Laravel 5 con Eloquent OAuth y Facebook Lección siguiente Integrar Google Maps en Laravel 5 con el componente Phpgmaps