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

Tagged : # #

Leave a Reply

Your email address will not be published. Required fields are marked *