Laravel – 將錯誤寫入 Log 的時候,連帶網址與輸入參數的方法
假如我們想把錯誤寫入 log 的話,要觀察網址或傳遞的參數,我們可以添加方法 context() 來取代繼承 vendor\laravel\framework\src\Illuminate\Foundation\Exceptions\Handler.php。
app\Exceptions\Handler.php
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Request; ... protected function context() { try { return array_filter([ 'url' => Request::fullUrl(), 'input' => Request::except(['password', 'password_confirmation']), 'userId' => Auth::id(), 'email' => Auth::user() ? Auth::user()->email : null, ]); } catch (Throwable $e) { return []; } }
url, input 是我們自訂的,這樣在查看 log 的時候就能看到參數囉。參考