Laravel 5.6 Monolog Database Handler.
This package will log errors into a database instead storage/log/laravel.log file., (*1)
Installation
composer require gordonzero/monolog-db
Open up config/logging.php
and find the channels
key. Add the following channel to the list., (*2)
'database' => [
'driver' => 'custom',
'via'=> \Logger\DatabaseLogger::class,
'table'=> env('DB_LOG_TABLE', 'logs'),
'connection' => env('DB_LOG_CONNECTION', env('DB_CONNECTION', 'mysql')),
],
Set up Environment Variables (see Below)., (*3)
Migrate the tables., (*4)
php artisan migrate
Database Engines
Make sure before you migrate the table that you have set the envirment veriable for the database engine. This is done by adding the following line to the .env
file, (*5)
DB_LOG_ENGINE=InnoDB
To use the whatever the default database engine is or to specify no database engine during the table migration use the following, (*6)
DB_LOG_ENGINE=NONE
Environment configuration
If you wish to change default table name to write the log into add the following definition in your .env
file, (*7)
DB_LOG_TABLE=logs
To change the database connection that is used to wright the logs add the following definition to your .env
file, (*8)
DB_LOG_CONNECTION=mysql
To make sure you are using the database
channel for logging add it to the stack in your config\logging.php
or change the following in your .env
file, (*9)
LOG_CHANNEL=database
Credits
Based on:, (*10)
- [Mark Hilton] (https://github.com/markhilton/monolog-mysql)
- [Pedro Fornaza] (https://github.com/pedrofornaza/monolog-mysql)