Cara menggunakan middleware untuk log masuk Laravel
Ikhtisar:
Apabila membangunkan aplikasi web, selalunya perlu merekod permintaan pengguna untuk memudahkan penyelesaian masalah dan analisis masalah. Laravel menyediakan cara mudah untuk log permintaan dan respons, menggunakan perisian tengah. Artikel ini akan memperkenalkan secara terperinci cara menggunakan perisian tengah untuk log masuk Laravel dan memberikan contoh kod khusus.
Langkah 1: Cipta LogMiddleware
Pertama, kita perlu mencipta middleware tersuai untuk mengendalikan pengelogan. Buka terminal dan laksanakan arahan berikut untuk mencipta fail middleware:
php artisan make:middleware LogMiddleware
Arahan ini akan mencipta fail LogMiddleware.php
dalam direktori app/Http/Middleware
. Dalam fail ini kami akan melaksanakan logik pembalakan. Berikut ialah contoh asas: app/Http/Middleware
目录下创建一个LogMiddleware.php
文件。在该文件中,我们将实现日志记录的逻辑。下面是一个基本的示例:
<?php namespace AppHttpMiddleware; use Closure; use IlluminateSupportFacadesLog; class LogMiddleware { public function handle($request, Closure $next) { // 在请求之前记录日志 Log::info('Request: '.$request->fullUrl()); $response = $next($request); // 在响应之后记录日志 Log::info('Response: '.$response->getContent()); return $response; } }
在上述示例中,我们使用了Laravel提供的Log
门面来记录日志。在请求之前,我们记录了请求的完整URL;在响应之后,我们记录了响应的内容。
步骤二:注册中间件
创建完中间件之后,我们需要将其注册到Laravel的中间件管道中。打开app/Http/Kernel.php
文件,在$middlewareGroups
数组中的api
组中添加以下代码:
protected $middlewareGroups = [ 'api' => [ // 其他中间件... AppHttpMiddlewareLogMiddleware::class, ], ];
这样,我们就将创建的LogMiddleware
中间件添加到了api
组中,表示该中间件会在后续针对API路由的请求中起作用。
步骤三:启用日志记录
最后一步是启用Laravel的日志记录功能。打开.env
文件,找到以下配置项,并确保其为daily
:
LOG_CHANNEL=daily
这样,Laravel就会将日志记录到storage/logs
目录下的laravel.log
文件中,按天进行分割。
至此,我们已经完成了在Laravel中使用中间件进行日志记录的全部配置。
示例效果:
假设我们有一个简单的路由定义如下:
Route::get('/hello', function () { return 'Hello, Laravel!'; });
当我们请求/hello
[2023-09-05 10:14:23] local.INFO: Request: http://localhost/hello [2023-09-05 10:14:23] local.INFO: Response: Hello, Laravel!
Log
yang disediakan oleh Laravel untuk merekodkan log. Sebelum permintaan, kami merekodkan URL penuh permintaan selepas respons, kami merekodkan kandungan respons. Langkah 2: Daftar middlewareSelepas mencipta middleware, kita perlu mendaftarkannya ke dalam talian paip middleware Laravel. Buka fail app/Http/Kernel.php
dan tambahkan kod berikut dalam kumpulan api
dalam tatasusunan $middlewareGroups
:
rrreee
LogMiddleware
middleware yang dibuat ditambah pada kumpulan api
, menunjukkan bahawa middleware akan berfungsi dalam permintaan seterusnya untuk penghalaan API. Langkah Tiga: Dayakan Pengelogan🎜Langkah terakhir ialah mendayakan ciri pengelogan Laravel. Buka fail .env
, cari item konfigurasi berikut dan pastikan ia harian
: 🎜rrreee🎜Dengan cara ini, Laravel akan log ke storan/log
Dalam fail laravel.log
dalam kod> direktori, bahagikannya mengikut hari. 🎜🎜Pada ketika ini, kami telah menyelesaikan semua konfigurasi menggunakan perisian tengah untuk log masuk Laravel. 🎜🎜Kesan contoh: 🎜Andaikan kami mempunyai laluan mudah yang ditakrifkan seperti berikut: 🎜rrreee🎜Apabila kami meminta Atas ialah kandungan terperinci Cara menggunakan perisian tengah untuk log masuk Laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!