
今回はLogファザードを使ったデバッグ方法で、JavaScriptからfetch()でリクエストされた値をを確認する。

ユッケです。
設定
最初に.envファイルでAPP_DEBUGがtrueであることを確認。
デフォルトでtrueになっているはず。

デバッグしたい箇所にLogファサードを記述
Logファザードの使い方は超簡単。
Illuminate\Support\Facades\Logを上に記載した後に、
確認したい変数や配列などを「Log::debug()」の引数に入れてログファイルを確認するだけ。
今回は下記でログを出力する。
my_project/src/my_project/app/Http/Requests/CustomerSearchRequest.php
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Http\Exceptions\HttpResponseException;
use Illuminate\Contracts\Validation\Validator;
use Illuminate\Support\Facades\Log; // ←追記
class CustomerSearchRequest extends FormRequest
{
// 下記追記
protected function prepareForValidation()
{
Log::debug('---------------------------------');
Log::debug($this);
Log::debug('---------------------------------');
}
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'data' => ['required'],
'data.startDate' => 'required',
'data.endDate' => 'required',
];
}
public function messages()
{
return [
'data.required' => 'リクエストが不正です。(data:必須)',
'data.startDate.required' => 'リクエストが不正です。(startDate:必須)',
'data.endDate.required' => 'リクエストが不正です。(endDate:必須)',
];
}
ログの出力先は標準ログ「storage/logs/laravel.log」に記述される。

Git Bashでtailコマンドでリクエストの値を確認
$ cd /c/Data/WebSite/my_project/src/my_app/storage
$ tail -f logs/laravel.log
// ここで、リクエスト送信。すると下記みたいにログが出力される。
[2023-02-03 08:23:55] local.DEBUG: ---------------------------------
[2023-02-03 08:23:55] local.DEBUG: array (
'sessionId' => 'hogehoge',
'data' =>
array (
'startDate' => '2022-10-01',
'endDate' => '2022-10-31',
),
)
[2023-02-03 08:23:55] local.DEBUG: ---------------------------------
ログレベルについて
Log::emergency("emergency");
Log::alert("alert");
Log::critical("critical");
Log::error("error");
Log::warning("warning");
Log::notice("notice");
Log::info("info");
Log::debug("debug");