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.