Rumah pembangunan bahagian belakang tutorial php Laravel框架实现利用中间件进行操作日志记录功能

Laravel框架实现利用中间件进行操作日志记录功能

Jun 07, 2018 am 09:51 AM
laravel perisian tengah Log operasi Rekod

这篇文章主要介绍了Laravel框架实现利用中间件进行操作日志记录功能,结合实例形式分析了Laravel框架中间件的创建、引入以及使用中间件进行操作日志记录功能的相关实现技巧,需要的朋友可以参考下

本文实例讲述了Laravel框架实现利用中间件进行操作日志记录功能。分享给大家供大家参考,具体如下:

利用中间件进行操作日志记录过程:

1、创建中间件

php artisan make:middleware AdminOperationLog
Salin selepas log masuk

2、生成了文件./app/Http/Middleware/AdminOperationLog.php

代码如下:

<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use App\Http\Models\OperationLog;
class AdminOperationLog
{
  /**
   * Handle an incoming request.
   *
   * @param \Illuminate\Http\Request $request
   * @param \Closure $next
   * @return mixed
   */
  public function handle($request, Closure $next)
  {
    $user_id = 0;
    if(Auth::check()) {
      $user_id = (int) Auth::id();
    }
    $_SERVER[&#39;admin_uid&#39;] = $user_id;
    if(&#39;GET&#39; != $request->method()){
      $input = $request->all();
      $log = new OperationLog(); # 提前创建表、model
      $log->uid = $user_id;
      $log->path = $request->path();
      $log->method = $request->method();
      $log->ip = $request->ip();
      $log->sql = &#39;&#39;;
      $log->input = json_encode($input, JSON_UNESCAPED_UNICODE);
      $log->save();  # 记录日志
    }
    return $next($request);
  }
}
Salin selepas log masuk

3、中间件引入 ./app/Http/Kernel.php

protected $middlewareGroups = [
    &#39;web&#39; => [
      ...
      \App\Http\Middleware\AdminOperationLog::class,
      ...
    ],
    &#39;api&#39; => [
      &#39;throttle:60,1&#39;,
      &#39;bindings&#39;,
    ],
  ];
Salin selepas log masuk

此时进行操作时就会记录操作日志

相关推荐:

Laravel框架实现利用监听器进行sql语句记录功能

Atas ialah kandungan terperinci Laravel框架实现利用中间件进行操作日志记录功能. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk mendapatkan kod pengembalian semasa menghantar e -mel gagal di Laravel? Bagaimana untuk mendapatkan kod pengembalian semasa menghantar e -mel gagal di Laravel? Apr 01, 2025 pm 02:45 PM

Kaedah untuk mendapatkan kod kembali apabila menghantar e -mel Laravel gagal. Apabila menggunakan Laravel untuk membangunkan aplikasi, anda sering menghadapi situasi di mana anda perlu menghantar kod pengesahan. Dan pada hakikatnya ...

Tugas Jadual Laravel tidak dilaksanakan: Apa yang harus saya lakukan jika tugas itu tidak berjalan selepas Jadual: Jalankan Perintah? Tugas Jadual Laravel tidak dilaksanakan: Apa yang harus saya lakukan jika tugas itu tidak berjalan selepas Jadual: Jalankan Perintah? Mar 31, 2025 pm 11:24 PM

Tugas Jadual Laravel menjalankan penyelesaian masalah yang tidak responsif semasa menggunakan penjadualan tugas jadual Laravel, banyak pemaju akan menghadapi masalah ini: Jadual: Jalankan ...

Di Laravel, bagaimana menangani situasi di mana kod pengesahan gagal dihantar melalui e -mel? Di Laravel, bagaimana menangani situasi di mana kod pengesahan gagal dihantar melalui e -mel? Mar 31, 2025 pm 11:48 PM

Kaedah mengendalikan kegagalan e -mel Laravel untuk menghantar kod pengesahan adalah menggunakan Laravel ...

Bagaimana untuk melaksanakan fungsi jadual tersuai untuk mengklik untuk menambah data dalam admin dcat? Bagaimana untuk melaksanakan fungsi jadual tersuai untuk mengklik untuk menambah data dalam admin dcat? Apr 01, 2025 am 07:09 AM

Cara melaksanakan fungsi jadual klik tersuai untuk menambah data dalam dcatadmin (laravel-admin) semasa menggunakan dcat ...

Laravel - Pelayan Buang Laravel - Pelayan Buang Aug 27, 2024 am 10:51 AM

Laravel - Dump Server - Laravel dump server datang dengan versi Laravel 5.7. Versi sebelumnya tidak termasuk pelayan dump. Pelayan dump akan menjadi kebergantungan pembangunan dalam fail komposer laravel/laravel.

Perkongsian Sambungan Laravel Redis: Mengapa kaedah pilih mempengaruhi sambungan lain? Perkongsian Sambungan Laravel Redis: Mengapa kaedah pilih mempengaruhi sambungan lain? Apr 01, 2025 am 07:45 AM

Kesan perkongsian sambungan Redis dalam rangka kerja Laravel dan pilih kaedah apabila menggunakan Rangka Kerja Laravel dan Redis, pemaju mungkin menghadapi masalah: melalui konfigurasi ...

Laravel Multi-Tenant Extension Stancl/Tenancy: Bagaimana Menyesuaikan Alamat Hos Sambungan Pangkalan Data Penyewa? Laravel Multi-Tenant Extension Stancl/Tenancy: Bagaimana Menyesuaikan Alamat Hos Sambungan Pangkalan Data Penyewa? Apr 01, 2025 am 09:09 AM

Sambungan pangkalan data penyewa tersuai dalam pakej lanjutan multi-penyewa Larave Stancl/penyewaan ketika membina aplikasi multi-penyewa menggunakan pakej lanjutan multi-penyewa Larave Stancl/penyewaan, ...

Laravel - URL Tindakan Laravel - URL Tindakan Aug 27, 2024 am 10:51 AM

Laravel - URL Tindakan - Laravel 5.7 memperkenalkan ciri baharu yang dipanggil &quot;URL tindakan boleh panggil&quot;. Ciri ini serupa dengan yang terdapat dalam Laravel 5.6 yang menerima kaedah rentetan dalam tindakan. Tujuan utama sintaks baharu memperkenalkan Laravel 5.7 adalah untuk mengarahkanl

See all articles