我正在尝试对异常日志进行一些更改并在 laravel 11 中渲染。
我想添加一个uuid到errors.500刀片并在日志之前记录它,但我真的不知道如何做,laravel文档只显示如何自定义自定义异常,而google专注于laravel 10或更旧版本,其中错误处理非常不同。
我不想进行自定义异常,成千上万的用户使用网络生成大量日志,我需要 uuid 在报告错误时跟踪错误,并确保我看到触发错误的正确日志行。
你能帮我吗?
我最终这样做了。必须有更好的方法,但目前看来它有效。
我正在等待它在产品中内爆该项目。
->withExceptions(function (Exceptions $exceptions) {
$exceptions->report(function (Exception $e) {
return false;
});
$exceptions->respond(function ($response, $e) {
if ($e instanceof AuthenticationException) {
return $response;
} else {
$hash = \Illuminate\Support\Str::uuid()->toString();
Log::error($hash);
Log::error($e);
$message = $e->getMessage();
return response()->view("errors.500", ["hash" => $hash,"message" => $message], 500);
}
});