Ten przewodnik pokazuje, jak skonfigurować i wykorzystać Laravel Telescope do monitorowania aplikacji.
📋 Spis treści
Laravel Telescope to potężne narzędzie do debugowania i monitorowania aplikacji Laravel. Ten przewodnik pokaże Ci, jak wykorzystać Telescope do efektywnego debugowania, monitorowania wydajności i śledzenia błędów w Twojej aplikacji.
Wprowadzenie
Laravel Telescope to nieocenione narzędzie w procesie debugowania i monitorowania aplikacji Laravel. Ułatwia identyfikowanie błędów, analizę wydajności oraz kontrolę działania systemu w czasie rzeczywistym lub z perspektywy historii zdarzeń.
Laravel Telescope to oficjalne narzędzie do debugowania frameworka Laravel, stworzone przez zespół Laravel. Umożliwia monitorowanie różnych aspektów działania aplikacji, takich jak zapytania SQL, żądania HTTP, obsługa wyjątków, operacje kolejek i wiele innych.
W przeciwieństwie do Laravel Debugbar, który działa w czasie rzeczywistym w przeglądarce, Telescope oferuje dedykowany interfejs webowy z historią operacji, umożliwiając głębszą analizę i diagnostykę problemów po ich wystąpieniu.
Instalacja
composer require laravel/telescope --dev
php artisan telescope:install
php artisan migrate
Zaleca się instalację Telescope jako zależności deweloperskiej (--dev
), ponieważ nie powinno być używane w środowiskach produkcyjnych ze względu na kwestie wydajności i bezpieczeństwa.
Podstawowa konfiguracja
Po instalacji plik config/telescope.php
zawiera wszystkie ustawienia Telescope:
<?php
return [
'path' => 'telescope',
'enabled' => env('TELESCOPE_ENABLED', true),
'storage' => [
'database' => [
'connection' => env('DB_CONNECTION', 'mysql'),
'chunk' => 1000,
],
],
'hours' => 24,
'watchers' => [
// ...
],
];
Kontrola Dostępu do Panelu Telescope
Domyślnie Telescope jest dostępne tylko w środowisku lokalnym. Aby umożliwić dostęp w innych środowiskach, zmodyfikuj metodę gate
w pliku TelescopeServiceProvider.php
:
protected function gate()
{
Gate::define('viewTelescope', function ($user) {
return in_array($user->email, [
'[email protected]',
'[email protected]'
]);
});
}
Najważniejsze funkcje
-
Monitorowanie Żądań HTTP
- Rejestruje wszystkie przychodzące żądania HTTP wraz ze szczegółami:
- URL, Metoda HTTP, Parametry, Nagłówki, Kod odpowiedzi, Czas wykonania
- Rejestruje wszystkie przychodzące żądania HTTP wraz ze szczegółami:
-
Monitorowanie Zapytania do Bazy Danych
- Loguje wszystkie zapytania SQL:
- Pełne zapytanie SQL, Parametry, Czas wykonania
$users = DB::table('users')->where('active', true)->orderBy('created_at', 'desc')->get();
- Loguje wszystkie zapytania SQL:
-
Monitorowanie Wyjątków
- Automatycznie zapisuje wszystkie wyjątki z typem, trace, lokalizacją, kontekstem
-
Monitorowanie Operacji Cache
- Śledzi operacje get/set/forget
Cache::put('user_profile', $userProfile, 3600); $profile = Cache::get('user_profile');
-
Monitorowanie Zadań Kolejki
- Rejestruje zlecone i wykonane zadania kolejki
ProcessPodcast::dispatch($podcast)->onQueue('podcasts');
-
Monitorowanie Logów
- Wszystkie wpisy logów
Log::info('User logged in', ['user_id' => $user->id]);
-
Monitorowanie Powiadomień
- Śledzi powiadomienia z typem, kanałem, statusem
-
Monitorowanie Zdarzeń
- Śledzi eventy, ładunek i listenerów
event(new UserRegistered($user));
-
Monitorowanie Modeli Eloquent
- Hydratacja, serializacja, operacje kolekcji
-
Monitorowanie Poleceń Artisan
- Rejestruje wszystkie komendy, czas, opcje
Bezpieczeństwo
Podsumowanie
Laravel Telescope to niezbędne narzędzie dla każdego developera Laravel, oferujące:
- Kompleksowe monitorowanie aplikacji
- Szczegółowe śledzenie żądań i zapytań
- Efektywne debugowanie błędów
- Integrację z Dockerem
- Zaawansowane funkcje bezpieczeństwa
Śledź mnie na LinkedIn, aby otrzymywać więcej wskazówek o Laravel i DevOps!
Czy chciałbyś dowiedzieć się więcej o debugowaniu i monitorowaniu aplikacji Laravel? Daj znać w komentarzach poniżej!