Laravel 记录表单请求验证实际错误消息的最简单方法

Laravel Easiest way to log the Form Request Validation actual error messages

我正在为客户开发 Laravel v6.18 项目。

现在,当我尝试提交包含大量数据的表单时,随机出现如下错误:

[2020-09-17 10:05:23] local.ERROR: Illuminate\Validation\ValidationException: The given data was invalid. in [LaravelDir]\vendor\laravel\framework\src\Illuminate\Foundation\Http\FormRequest.php:130
Stack trace:
....

我知道这是一条一般性错误消息,旨在向最终用户隐藏实际错误,但我希望记录实际错误。

如果我想在不直接编辑 Vendor 包的情况下记录这个实际错误,我必须覆盖,但我不知道要覆盖哪个 class 方法来记录实际的表单请求验证错误(哪个表单字段验证失败)。

有人可以帮忙吗?

我建议在 Handler 文件中使用 report 方法进行检查 ValidationException 然后像这样记录验证错误

if ($exception instanceof ValidationException) {
    Log::error("errors", $exception->errors());
}