I am trying to figure out how I can send errors to my email in Laravel 5. I haven’t had much luck finding any good resources.
There used to be good packages like: https://github.com/TheMonkeys/laravel-error-emailer That did this for you in Laravel 4.
They have yet to release a Laravel5 update because of the way they changed error handling… which I am also not to familiar with.
I have a few Laravel 5 applications which I need to monitor but I need a more efficient way of doing it besides checking error logs on storage.
Any help would be greatly appreciated. I know there are others out there seeking this information as well.
Advertisement
Answer
You can do this by catching all the errors in the AppExceptionsHandler::report()
. So in you App/Exceptions/Handler.php
add a report
function if its not already there.
/** * Report or log an exception. * * This is a great spot to send exceptions to Sentry, Bugsnag, etc. * * @param Exception $e * @return void */ public function report(Exception $e) { if ($e instanceof Exception) { // emails.exception is the template of your email // it will have access to the $error that we are passing below Mail::send('emails.exception', ['error' => $e->getMessage()], function ($m) { $m->to('your email', 'your name')->subject('your email subject'); }); } return parent::report($e); }
If you need more info, refer to laravel documentation form mailer and errors.