Rumah > rangka kerja php > Laravel > Cara menggunakan perisian tengah untuk log masuk Laravel

Cara menggunakan perisian tengah untuk log masuk Laravel

王林
Lepaskan: 2023-11-02 08:50:11
asal
943 orang telah melayarinya

Cara menggunakan perisian tengah untuk log masuk Laravel

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
Salin selepas log masuk

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;
    }
}
Salin selepas log masuk

在上述示例中,我们使用了Laravel提供的Log门面来记录日志。在请求之前,我们记录了请求的完整URL;在响应之后,我们记录了响应的内容。

步骤二:注册中间件
创建完中间件之后,我们需要将其注册到Laravel的中间件管道中。打开app/Http/Kernel.php文件,在$middlewareGroups数组中的api组中添加以下代码:

protected $middlewareGroups = [
    'api' => [
        // 其他中间件...
        AppHttpMiddlewareLogMiddleware::class,
    ],
];
Salin selepas log masuk

这样,我们就将创建的LogMiddleware中间件添加到了api组中,表示该中间件会在后续针对API路由的请求中起作用。

步骤三:启用日志记录
最后一步是启用Laravel的日志记录功能。打开.env文件,找到以下配置项,并确保其为daily

LOG_CHANNEL=daily
Salin selepas log masuk

这样,Laravel就会将日志记录到storage/logs目录下的laravel.log文件中,按天进行分割。

至此,我们已经完成了在Laravel中使用中间件进行日志记录的全部配置。

示例效果:
假设我们有一个简单的路由定义如下:

Route::get('/hello', function () {
    return 'Hello, Laravel!';
});
Salin selepas log masuk

当我们请求/hello

[2023-09-05 10:14:23] local.INFO: Request: http://localhost/hello
[2023-09-05 10:14:23] local.INFO: Response: Hello, Laravel!  
Salin selepas log masuk
Dalam contoh di atas, kami menggunakan fasad Log yang disediakan oleh Laravel untuk merekodkan log. Sebelum permintaan, kami merekodkan URL penuh permintaan selepas respons, kami merekodkan kandungan respons.

Langkah 2: Daftar middleware

Selepas 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

In dengan cara ini, kami 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 /hello, maklumat berkaitan permintaan dan respons akan direkodkan dalam log. Berikut adalah sebahagian daripada fail log: 🎜rrreee🎜Seperti yang anda lihat, log kami merekodkan maklumat yang berkaitan tentang permintaan dan respons, yang memudahkan penyelesaian masalah dan analisis kami. 🎜🎜Ringkasan: 🎜Artikel ini memperkenalkan cara menggunakan perisian tengah untuk log masuk dalam Laravel. Dengan mencipta LogMiddleware, mendaftarkan middleware, dan mendayakan pengelogan, kami boleh merekodkan log permintaan dan respons dengan mudah. Ini sangat membantu kami untuk membangunkan aplikasi web dan menyelesaikan masalah. 🎜🎜Saya harap artikel ini akan membantu anda memahami dan menggunakan perisian tengah Laravel untuk pengelogan. Lebih banyak anda berlatih dan meneroka, saya percaya anda akan menjadi lebih mahir dalam menggunakan fungsi ini. 🎜

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan