SQL: Almacenar registro de consultas elocuentes

sql

Laravel 8 Almacenar registro de consultas SQL elocuentes

Dentro de este artículo, veremos el concepto de registro de almacenamiento de Laravel 8 de consultas SQL elocuentes en el archivo de registro de la aplicación, así como en un archivo de registro personalizado. La gestión de los registros de consultas ayuda a depurar y encontrar los detalles de las consultas en ejecución en la aplicación.

Los archivos de registro son aquellos archivos en los que se almacena el estado de la aplicación, como errores, información, advertencias, etc. Los archivos de registro ayudan al desarrollador de aplicaciones a depurar aplicaciones.

Laravel de forma predeterminada proporciona la ubicación del archivo /storage/logs/laravel.log donde almacena los registros de la aplicación. Pero en algún momento es posible que necesitemos crear un archivo de registro con una tarea específica. También para mantener los registros, tenemos un paquete de composición que hace exactamente lo mismo de lo que estamos discutiendo. para obtener más información sobre el paquete LogViewer y está funcionando.

¡Empecemos!

SQL


Instalación de la aplicación Laravel

La instalación de Laravel se puede realizar de dos formas:

  • Instalador de Laravel
  • Usando compositor

Instalador de Laravel

Para instalar Laravel a través del instalador de Laravel, primero debemos instalar su instalador. Necesitamos hacer uso del compositor para eso.

$ composer global require laravel/installer

Este comando instalará el instalador de laravel en system. Esta instalación es de alcance global, por lo que escribe el comando desde cualquier directorio en la terminal. Para verificar, escriba el comando dado:

$ laravel

Este comando abrirá una paleta de comandos del instalador de Laravel.

Para crear un proyecto de instalación de anuncios laravel en el sistema,

$ laravel new blog

Con el nombre del blog, se creará un proyecto de laravel en la ruta especificada.

Usando compositor

Alternativamente, también podemos instalar Laravel mediante el comando de Composer create-project.

Aquí está el comando completo para crear un proyecto laravel:

$ composer create-project --prefer-dist laravel/laravel blog

Después de seguir estos pasos, podemos instalar una aplicación Laravel en el sistema.

Para iniciar el servidor de desarrollo de Laravel:

$ php artisan serve

Este comando genera:

Iniciando el servidor de desarrollo de Laravel: http://127.0.0.1:8000

Suponiendo que laravel ya esté instalado en system.

Concepto n. ° 1: Almacenar en archivo de registro predeterminado

La ubicación predeterminada del archivo de registro de Laravel es storage/logs/laravel.log. Vamos a almacenar el registro SQL en el archivo. Pero antes de almacenar registros, necesitamos hacer alguna configuración.

Abra el archivo AppServiceProvider.php desde la carpeta de la aplicación / Proveedores.

<?php namespace App\Providers; use Illuminate\Support\ServiceProvider; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Log; class 
AppServiceProvider extends ServiceProvider { /** * Register any application services. * * @return void */ public function register() { // } /** * Bootstrap any application 
services. * * @return void */ public function boot() { DB::listen(function ($query) { Log::info( $query->sql, $query->bindings, $query->time ); }); } }

Hemos agregado lógica de registro de consultas en el método boot().

Siempre que ejecutemos consultas mediante el uso de modelos, consultas sin procesar, Eloquent, etc., las consultas se gestionarán automáticamente en el archivo laravel.log.

Concepto n. ° 2: crear un archivo de registro personalizado

En algún momento, es posible que necesitemos crear un archivo de registro con una tarea específica. Por ejemplo, si alguien trabaja con una tarea de pago y necesita todos los registros en un lugar fijo, entonces este concepto lo ayudará.

Podemos crear un archivo de registro personalizado para almacenar datos de registro.

Creemos el archivo query.log en la carpeta de almacenamiento / registros. En el método boot () del archivo AppServiceProvider.php, agregue el siguiente código:

<?php namespace App\Providers; use Illuminate\Support\ServiceProvider; use Illuminate\Support\Facades\DB; use File; class AppServiceProvider extends ServiceProvider { /** * Register any application services. * * @return void */ public function register() { // } /** * Bootstrap any application services. * * @return void */ public function boot() { DB::listen(function($query) { File::append( storage_path('/logs/query.log'), '[' . date('Y-m-d H:i:s') . ']' . PHP_EOL . $query->sql . ' [' . implode(', ', $query->bindings) . ']' . PHP_EOL . PHP_EOL ); }); } }

Hemos agregado el registro de consultas en un concepto de archivo de registro personalizado en el método boot().

Siempre que ejecutemos consultas mediante el uso de modelos, consultas sin procesar, Eloquent, etc., las consultas se gestionarán automáticamente en el archivo query.log. Este archivo estará en la carpeta /storage/logs.

Recent Post