A service provider to add support for logging via email using Laravels built-in mail provider
Installation using composer:
composer require designmynight/laravel-log-mailer
Laravel | Package |
---|---|
5.6.x | 1.0.x |
And add the service provider in config/app.php
:
DesignMyNight\Laravel\Logging\MailableLogServiceProvider::class,
For usage with Lumen, add the service provider in bootstrap/app.php
.
$app->register(DesignMyNight\Laravel\Logging\MailableLogServiceProvider::class);
Most configuration options can be automatically populated by environment variables or in config/mailablelog.php, to generate it run php artisan vendor:publish.
To ensure all unhandled exceptions are mailed, set up a mail logging channel and add it to your logging stack in config/logging.php:
'channels' => [
'stack' => [
'driver' => 'stack',
// Add mail to the stack:
'channels' => ['single', 'mail'],
],
// ...
// Create a mail logging channel:
'mail' => [
'driver' => 'mail',
// Specify who to mail the log to
'to' => [
[
'address' => 'errors@designmynight.com',
'name' => 'Error'
]
],
// Optionally specify who the log mail was sent by
// This is overidable in config/mailablelog.php and
// falls back to your global from in config/mail.php
'from' => [
'address' => 'errors@designmynight.com',
'name' => 'Errors'
],
// Optionally overwrite the mailable template
// 'mailable' => NewLogMailable::class
],
],
You can specify multiple channels and change the recipients and customise the email template per channel.