public function report(Exception $exception) {
// Checks if a user has logged in to the system, so the error will be recorded with the user id
$userId = 0;
if (Auth::user()) {
$userId = Auth::user()->id;
}
$data = array(
'user_id' => $userId,
'code' => $exception->getCode(),
'file' => $exception->getFile(),
'line' => $exception->getLine(),
'message' => $exception->getMessage(),
'trace' => $exception->getTraceAsString(),
);
Error::create($data);
parent::report($exception);
}
2条答案
按热度按时间mgdq6dx11#
因为laravel使用monolog来处理日志记录,所以编写monolog处理程序似乎是最干净的方法。
我能够找到一些已经存在的东西,请看一下monolog mysql包。我没有使用它,所以我不知道它是否工作,如果它工作得很好,但它肯定是一个很好的起点。
oogrdqng2#
如果您有兴趣手动执行此操作,可以执行以下操作。
步骤1-创建一个模型来存储具有如下db结构的错误。
步骤2找到app/exceptions/handler.php文件,包括auth和您创建的错误模型。并用以下代码替换报告函数。
(我正在使用laravel5.6演示这一点)