yaro / log-envelope
Laravel 5 email on error
Installs: 46 009
Dependents: 0
Suggesters: 0
Security: 0
Stars: 41
Watchers: 4
Forks: 11
Open Issues: 3
Requires
- php: >=5.4.0
- illuminate/support: 5.*|^6.0|^7.0|^8.0|^9.0|^10.0
README
Laravel 5-9 package for logging errors to your e-mail(s), telegram, slack and database!
Installation
You can install the package through Composer.
composer require yaro/log-envelope
You must install this service provider. Make this the very first provider in list.
// config/app.php 'providers' => [ // make this very first provider // so fatal exceptions can be catchable by envelope Yaro\LogEnvelope\ServiceProvider::class, //... ];
Then publish the config and migration file of the package using artisan.
php artisan vendor:publish --provider="Yaro\LogEnvelope\ServiceProvider"
Change your Exception Handler's (/app/Exceptions/Handler.php
by default) report
method like this:
//... public function report(Exception $e) { $res = parent::report($e); \LogEnvelope::send($e); //... return $res; } //...
Change config yaro.log-envelope.php
for your needs. You can choose to log your errors to your database or send them to your email/telegram/slack. Emails are preferable, cuz they contains more debug information, such as traceback.
There is a censored_fields
option which will change any fields value to *****
if it is named in this array. For example by default it will change values for fields called password
to *****
.
Also there is force_config
option, where you can define which configs to override for LogEnvelope execution. E.g., if you using some smtp for mail sending and queue it, you can change configs to send LogEnvelope emails immediately and not via smtp:
'force_config' => [
'mail.driver' => 'sendmail',
'queue.default' => 'sync',
],
TODO
- highlight traceback in emails
- page with logs from database
Results
Something like this with other info for debugging.
Email:
Slack:
Telegram:
License
The MIT License (MIT). Please see LICENSE for more information.