karya solusi digital

Laravel Membuat Logging dan Monitoring

Admin
Admin 14 Aug 2024

Untuk membuat logging dan monitoring pada aplikasi Laravel, Anda dapat mengikuti beberapa langkah berikut:

1. Mengaktifkan Logging di Laravel

Laravel memiliki sistem logging bawaan yang mendukung berbagai channel log, seperti file, syslog, dan errorlog. Anda bisa mengonfigurasi logging di file config/logging.php.

  • Default Channel: Laravel secara default menggunakan channel stack yang menggabungkan beberapa channel.

  • Log Channels: Anda bisa menambahkan atau mengubah log channel sesuai kebutuhan. Misalnya, menambahkan channel untuk menyimpan log ke file tertentu.

Contoh konfigurasi untuk menyimpan log ke file custom:

'channels' => [
    'custom' => [
        'driver' => 'single',
        'path' => storage_path('logs/custom.log'),
        'level' => 'debug',
    ],
],

Anda dapat menggunakan channel ini di aplikasi dengan cara:

Log::channel('custom')->info('Pesan log custom');

2. Menambahkan Logging pada Aksi Spesifik

Anda dapat menambahkan logging pada setiap aksi yang Anda ingin pantau, seperti menyimpan informasi saat user melakukan operasi tertentu.

use Illuminate\Support\Facades\Log;

class UserController extends Controller
{
    public function store(Request $request)
    {
        // Simpan data user
        Log::info('User baru ditambahkan', ['user_id' => $user->id]);

        return response()->json(['message' => 'User berhasil ditambahkan']);
    }
}

3. Menggunakan Monitoring Tools

Untuk monitoring yang lebih mendalam, Anda bisa mengintegrasikan Laravel dengan tools monitoring eksternal:

  • Laravel Telescope: Ini adalah tool monitoring yang dikembangkan oleh Laravel yang memungkinkan Anda untuk memonitor request, exception, log, query database, dan lain-lain.

    Instalasi Telescope:

    composer require laravel/telescope
    php artisan telescope:install
    php artisan migrate
  • Setelah diinstal, Anda bisa mengakses Telescope melalui /telescope untuk melihat informasi yang dikumpulkan.

  • Sentry: Sentry adalah layanan cloud untuk monitoring error. Ini memungkinkan Anda untuk memantau dan melacak error di aplikasi Laravel.

    Instalasi Sentry:

    composer require sentry/sentry-laravel
  • Konfigurasi Sentry di .env file:

    SENTRY_LARAVEL_DSN=https://[email protected]/your-project-id

4. Mengaktifkan Query Logging

Jika Anda ingin melacak query database, Anda bisa mengaktifkan query logging dengan cara:

DB::listen(function ($query) {
    Log::info(
        $query->sql,
        $query->bindings,
        $query->time
    );
});

Ini akan menyimpan semua query yang dieksekusi ke dalam log.

5. Monitoring Kinerja (Performance Monitoring)

Untuk memantau kinerja aplikasi Anda, Anda bisa menggunakan:

  • Laravel Horizon: Untuk monitoring job queue pada Laravel.

  • Blackfire: Untuk profiling dan memonitor performa aplikasi.

  • New Relic: Sebuah tool APM (Application Performance Monitoring) untuk memantau performa aplikasi secara real-time.

Dengan mengimplementasikan logging dan monitoring yang baik, Anda akan lebih mudah mengidentifikasi masalah dan meningkatkan performa aplikasi Laravel Anda.