リクエストパラメータlaravel飼いパス対応するパラメータキャッチ

リファレンスから:https://58hualong.cn/blog/post/laravel-shiyong-terminate-jilu-api-de-xiangying-shijian-qingqiu-canshu-he-xiangyingzhi

Laravelは、ミドルウェアと呼ばれた  terminate 私たちは、このメソッドを実装する場合、アプローチを、実行は終了しようとしている、Laravel Laravelは次のような方法が構成され、ライフサイクル全体を通して、この方法を実行します:

public function terminate($request, $response)
    {
    }

これは、1つは、2つのパラメータがあり  $request 、他の1  $response 。すなわち、このリクエストパラメータと応答値。私たちは、APIリクエストのパラメータと応答値の処理時間にこの方法を使用することができます。

ミドルウェアの定義

<?php

namespace App\Http\Middleware;

use App\Jobs\DeleteRedisToken;
use App\Models\ModifyUsersPassword;
use App\Models\User;
use Auth;
use Closure;
use Illuminate\Support\Facades\Redis;
use Illuminate\Support\Facades\Log;
use \App\Models\Api\LoginToken;
/**
 *
 * - author llc
 *
 */
class AppRequestLog
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {

        

        return $next($request);

    }

    public function terminate($request, $response)
    {
        $startTime = LARAVEL_START * 10000;
        $endTime = microtime(true) * 10000;
        //将所有请求写日志
        $url = $request->getRequestUri();
        $header = $request->header();
        $allRequest = $request->all();
        $allInfo = [
            'input' => json_encode($request->input()),
            'response' => $response->getContent(),
            'url' => $url,
            'header' => $header,
            'allRequest' => $allRequest,
            'microtime' => microtime(),
            'start_time' => $startTime,
            'end_time' => $endTime,
            'handle_time' => $endTime - $startTime,
        ];
        Log::useDailyFiles(storage_path('logs/appRequest/appRequestLog.log'), 180, 'debug');
        Log::info('appRequestLog',$allInfo);

    }

}

Kernel.phpは、APIであなたも他の場所に適用することができ、現在を導入し、

修正$ middlewareGroups内部

  'api' => [
            \App\Http\Middleware\AppRequestLog::class, //引入中间件
//             \App\Http\Middleware\AppAllSingleLogin::class,
            'throttle:1000,1',
            'bindings',
        ],

このような要求は、ここですべてのAPIを経由します

ストレージに独自のビューファイルを完了した後に、すべての情報が記録されています

logs/appRequest/appRequestLog.log
公開された263元の記事 ウォン称賛46 ビュー370 000 +

おすすめ

転載: blog.csdn.net/qq_27229113/article/details/103476847