Я обрабатываю исключения на Handler.php
, но когда я целенаправленно провоцирую определенное исключение, метод отчета не только записывает это исключение, он также записывает как минимум 24 раза то же самое Session store error
, потому что я используюсеанс для получения сообщения об ошибке настройки.Мой метод отчета имеет только значение по умолчанию parent::report($exception);
.В журнале записывается ошибка запроса, которую я делаю специально, но также и многие из них Session store error
//render method at Handler.php
public function render($request, Exception $exception)
{
if($request->session()->has('errorOrigin'))
{
$errorOrigin = $request->session()->pull('errorOrigin');
} else{
$errorOrigin = "";
}
//session()->forget('errorOrigin');
//return dd(session());
//return parent::render($request, $exception);
//this return is just some trying
//return parent::render($request, $exception);
//return dd($exception);
//return parent::render($request, $exception);
//just in case someone throws it but don´t has the try catch at the code
if($exception instanceof \App\Exceptions\CustomException) {
//$request->session()->flash('message_type', 'negative');
\Session::flash('message_type', 'negative');
\Session::flash('message_icon', 'hide');
\Session::flash('message_header', 'Success');
\Session::flash('error', '¡Ha ocurrido un error ' . $errorOrigin . "!"
.' Si este persiste contacte al administrador del sistema');
return redirect()->back();
}elseif($exception instanceof \Illuminate\Database\QueryException) {
\Session::flash('message_type', 'negative');
\Session::flash('message_icon', 'hide');
\Session::flash('message_header', 'Success');
\Session::flash('error', '¡Ha ocurrido un error en la consulta ' . $errorOrigin);//this is he customized error message
return back();
}else{/*Original error handling*/
return parent::render($request, $exception);
}
}
//Method at my controller
public function index(Request $request)
{
//custom message if this methods throw an exception
\Session::put('errorOrigin', " mostrando los clientes");
//on purpose error, that table doesn´t exist, so it causes the QueryException error
DB::table('shdhgjd')->get();
}
Я думаю, что все эти извлеченные переменные \Session
или errorOrigin
создают ошибку Session store error
, но они мне нужны, есть ли ошибка логики / синтаксиса?Мне нужна помощь, потому что журнал становится гигантским, и не имеет смысла сохранять все эти ошибки, а также просто не сохранять их.
Также обнаружил, что эта ошибка происходит на каждой странице, событие при входе в систему.Я вхожу с именем пользователя вместо электронной почты (конечно, логин уже работает, и он правильно входит с именем пользователя).Это как-то связано с этим?Я обновляю страницу входа, ничего не делая, не пытаясь войти в систему, и это также сохраняет ошибку в моем журнале, но мое приложение продолжает работать.
На этот раз я намеренно провоцирую ошибку из таблицы несуществующей базы данных, это сводка ошибок, которые сохраняются в журнале, когда я ЕЩЕ РАЗ провоцирую ошибку.Как вы увидите, ошибка хранилища сеанса или подобное повторяется, но некоторые показывают неперехваченный RunTimeException
.Также добавлена трассировка стека последней.Ошибка сохранения сеанса повторяется как минимум 24 раза или даже больше.
[2019-06-06 19:55:59] local.ERROR: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'prisma.shdhgjd' doesn't exist (SQL: select * from `shdhgjd`)
[2019-06-06 19:56:00] local.ERROR: Session store not set on request. {"exception":"[object] (RuntimeException(code: 0): Session store not set on request. at C:\\ProyectoPrisma_BS3\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Request.php:419)
[stacktrace]
"#0" C:\\ProyectoPrisma_BS3\\app\\Exceptions\\Handler.php(69): Illuminate\\Http\\Request->session()
[2019-06-06 19:56:00] local.ERROR: Session store not set on request. {"exception":"[object] (RuntimeException(code: 0): Session store not set on request. at C:\\ProyectoPrisma_BS3\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Request.php:419)
[stacktrace]
[2019-06-06 19:56:00] local.ERROR: Uncaught RuntimeException: Session store not set on request. in C:\ProyectoPrisma_BS3\vendor\laravel\framework\src\Illuminate\Http\Request.php:419
Stack trace:
"#0" C:\ProyectoPrisma_BS3\app\Exceptions\Handler.php(69): Illuminate\Http\Request->session()