itLinkedInPocketCopyこんにちは。今回はミドルウェアを使用してアクセスログを実装する方法を解説します。関連ミドルウェアとはミドルウェアとはアプリケーションに入る前に共通的な処理を書くことができる機能です。アプリケーションとユーザーの中間に位置するのでミドルウェアと呼ばれています。通常HTTPリクエストに対する共通処理を記述することが多いです。今回やりたいことミドルウェアを利用してトレースログ機能を実装します。アプリケーションの処理開始前と終了後にそれぞれデバッグログを出力することで実現します。実装手順ミドルウェアの作成artisanコマンドでミドルウェアの雛形クラスを作成します。app/Http/Middleware/TraceLog.phpが作成されます。successfully.作成された雛形にはhandleメソッドが作成されています。このhandleメソッドの中にログ出力処理を書いていきます。雛形の中で呼ばれている$nextメソッドはミドルウェアを通過して次の処理を呼ぶメソッドです。ミドルウェアが何層にもなっている場合は、次のミドルウェアを呼びます。ミドルウェアがひとつの場合は、後続のアプリケーション処理が呼ばれます。$next($request);の前に記述します。することでアプリケーション処理前にログ出力が実行されます。}次に終了後のログを出力します。ここで最初の雛形を一部変更しなければなりません。$next($request)の部分です。このままの状態だとnextメソッドで呼ばれた後続の処理が終了するとreturnしてしまうので、後続の処理完了後の処理を書くことができません。そこで$nextの結果を一度変数に退避し、完了後の処理を書くことができるようにします。ログ出力処理完成後のhandleメソッドは以下です。}ミドルウェアの呼び出し作成したミドルウェアをルーティングで呼び出してみます。Route::middlewareで先程作成したTraceLogを呼び出します。groupメソッドをチェーンさせます。このgroupメソッド内に記述されたルーティングにミドルウェアが適用されます。サンプルのURLとして/sampleを定義してみました。});});/sampleを呼び出した結果です。TraceLogで定義したstartとendのログが処理の前後に出力されています。以降URLが追加された場合でも、TraceLogが適用されたグループ内にルーティングを定義すれば同様のログを出力することができます。http://localhost:8000/api/sampleまとめ今回はミドルウェアでトレースログを実装してみました。ミドルウェアはリクエストに対する共通処理を記述するにはとても便利な機能ですので是非使ってみてください。APIを作るこんにちは。APIを作る方法を解説します。インストール〜アクセス制御こんにちは。...Laravel開発でマイグレーションを使うべき3つの理由こんにちは。...【Laravel】コレクションでorWhereをどう実現するか(OR条件で抽出)こんにちは。モデルの準備と一覧表示画面こんにちは。コメントをキャンセルメールアドレスが公開されることはありません。*ウェブサイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。一覧画面に検索条件、フィルターを設置するこんにちは。モデルの準備と一覧表示画面こんにちは。Filamentのインストール手順こんにちは。UncategorizedWindowsにComposer2をインストールする方法こんにちは。