Laravelでエラーをログに記録しようとしていますが、レンダリング機能に到達する前にChromeのデフォルト500エラーページがスローされます。Laravel:ロギングエラーと素晴らしい表示を表示
すべてのエラーをデータベースに記録し、ユーザーフレンドリーなカスタムビューを表示したいが、レンダリングメソッドにそれができないときはどうすればよいですか?
public function render($request, Exception $exception)
それでは、どのようにエラーをログに記録するためのものです:
Laravelはそれになりませんか?これは非常に多くの点で間違っているようです。また
public function render($request, Exception $exception)
{
if (strlen($exception->getMessage()) > 0) {
$agent = new Agent();
$errorLog = new ErrorLog;
$errorLog->error_message = $exception->getMessage();
$errorLog->error_file = $exception->getFile();
$errorLog->error_line = $exception->getLine();
$errorLog->request_ip = $request->ip();
$errorLog->request_url = $request->root();
$errorLog->request_device = $agent->isDesktop() ? 'Desktop' : ($agent->isMobile() ? 'Mobile' : 'Tablet');
$errorLog->request_system = $agent->platform() . ' ' . $agent->version($agent->platform());
$errorLog->request_browser = $agent->browser();
$errorLog->error_happened_to = (Auth::check() ? Auth::user()->username : 'Guest');
$errorLog->save();
}
return parent::render($request, $exception);
}
、私.EVNファイル:
APP_NAME=Laravel
APP_ENV=local
APP_KEY=*************************************************
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=************
このアプローチが大好きです、ありがとうございます! –