Biasanya atau secara default jika laravel mengalami error maka otomatis akan menyimpan log error tersebut ke dalam file storage/log/laravel.log. Terdapat package yang memudahkan untuk mengganti log error tersebut ke database MySQL, yaitu Laravel MySQL Logger.
Instalasi
seperti biasa untuk instalasi melalui composer :
composer require itelmenko/laravel-mysql-logger
jika kita mau mengubah nama tabel default dan koneksi database yang digunakan dapat mengedit file .env seperti :
DB_LOG_TABLE=logs DB_LOG_CONNECTION=mysql
Bagi laravel versi 5.5 kebawah dengan menambahkan provider dalam file config/app.php seperti :
'providers' => array( // ... Logger\Laravel\Providers\MonologMysqlHandlerServiceProvider::class, );
Selanjutnya melakukan publish config melalui artisan :
php artisan vendor:publish
dan juga migrate table
php artisan migrate
Penggunaan
Dalam file config/logging.php seperti :
<?php // [...] 'channels' => [ 'stack' => [ 'driver' => 'stack', 'channels' => ['mysql'], ], // [...] 'mysql' => [ 'driver' => 'custom', 'via' => Logger\Laravel\Logging\MySQLLogger::class, 'connection' => env('DB_LOG_CONNECTION'), 'table' => env('DB_LOG_TABLE'), 'name' => 'my.channel' // optional ], ],
Lalu cara menambahkan log secara manual :
Log::channel('mysql')->info('Something happened!');
Untuk lebih jelasnya dapat menuju ke https://github.com/itelmenko/laravel-mysql-logger