Laravelフレームワークはミドルウェアを利用して操作ログ機能を実装

不言
リリース: 2023-03-30 10:52:02
オリジナル
2524 人が閲覧しました

この記事では、主に、ミドルウェアを使用して操作ログ機能を実装するための Laravel フレームワークの作成と導入、および操作ログ機能のミドルウェアを使用する関連実装テクニックをサンプルの形で分析します。参考になります

この記事では、Laravelフレームワークにミドルウェアを利用して操作ログ機能を実装する例を説明します。参考までに皆さんと共有します。詳細は次のとおりです:

操作ログ処理にミドルウェアを使用します:

1. ミドルウェアを作成します

2. ファイル

./app/Http を生成します。 /Middleware/AdminOperationLog.php コードは次のとおりです:

php artisan make:middleware AdminOperationLog
ログイン後にコピー

3. ミドルウェアの紹介

./app/Http/Kernel.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);
  }
}
ログイン後にコピー

で動作する場合これtime 操作ログが記録されます

関連する推奨事項:

Laravel フレームワークは、リスナーを使用して SQL ステートメントを記録する機能を実装します


以上がLaravelフレームワークはミドルウェアを利用して操作ログ機能を実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート