🚀 Laravel Custom Log & Notifications is a robust logging and notification library designed for Laravel applications, offering seamless handling of exceptions and automatic error reporting.
-
Install the Package: Use Composer to install the package:
composer require notify/notification:"dev-main"
-
Install AWS SES Package: Use Composer to install the package:
composer require aws/aws-sdk-php
-
Publish Configuration: Publish the configuration file:
php artisan vendor:publish --provider="Notify\\LaravelCustomLog\\LaravelCustomLogServiceProvider" --tag=config
-
Publish MySQL Migration: Publish the MySQL migration file:
php artisan vendor:publish --provider="Notify\\LaravelCustomLog\\LaravelCustomLogServiceProvider" --tag=migration
Configure the behavior of the package in the config/custom-log.php
file. Here's a breakdown of the available options:
- 🛠️
dev-mode
: Enable/disable development mode. - 🛠️
custom_log_mysql_enable
: Enable/disable logging to a MySQL database. - 🛠️
mysql_table
: Define the table name for logging in the MySQL database. - 🛠️
override_exception_handler
: Override the default Laravel exception handler. - 📧
emails
: Configure email settings for error reports. - 📧
pm-emails
: Specify project manager email addresses. - 📧
dev-emails
: Specify developer email addresses for notifications. ⚠️ ignore_exceptions
: Specify exceptions and error codes to ignore.- 💾
database_connection
: Define the database connection for logging.
To use AWS SES for email notifications, configure the following environment variables in your .env
file:
MAIL_MAILER=ses
MAIL_HOST=
MAIL_PORT=
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=
MAIL_FROM_NAME="${APP_NAME}"
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=
Disable the exception override in custom-log.php
and use your own logic in Exceptions/Handler.php
.
The below example is handling all the database exception and ignore them to log
public function register()
{
$this->reportable(function (Throwable $e) {
if ($e instanceof QueryException) {
return;
}
Notifications::error('exceptions', $e->getMessage(), $e->getTrace());
});
}
Once installed and configured, Laravel Custom Log & Notifications will handle exception reporting and notifications automatically according to your configuration settings.
👍 Happy logging and notifying with Laravel Custom Log & Notifications!