Przejdź do głównej zawartości

66. Monitoring i logowanie aplikacji webowej — PSR-3, Monolog

Monitoring i logowanie PHP

Logowanie to zapisywanie zdarzeń aplikacji w czasie działania: błędy, żądania, akcje użytkowników. Bez logów, diagnozowanie błędów na produkcji jest niemożliwe. PSR-3 definiuje standardowy interfejs loggera, a Monolog jest jego najpopularniejszą implementacją.

  • Bez logów nie ma debugowania na produkcji
  • Monolog jest używany w Laravel, Symfony i większości frameworków PHP
  • PSR-3 oznacza że możesz zmienić implementację bez zmiany kodu aplikacji
  1. Wyjaśnić po co logować zdarzenia w aplikacji
  2. Opisać 8 poziomów PSR-3 (debug → emergency)
  3. Pokazać konfigurację Monolog z handlerem do pliku
  4. Omówić strukturę logu i kontekst (array)
  1. Po co logować — debugowanie, audyt, monitoring SLA
  2. PHP error_log() — prosta funkcja, jej ograniczenia
  3. PSR-3 Logger Interface — 8 poziomów: debug, info, notice, warning, error, critical, alert, emergency
  4. Monolog — instalacja, kanały, handlery, formattery
  5. Handler FileHandler — zapis do pliku z rotacją
  6. Kontekst logu — dodatkowe dane w tablicy PHP
  7. Sentry/Rollbar — monitoring błędów w chmurze

Przykład 1

Monolog: konfiguracja i użycie z FileHandler

Przykład 2

Log z kontekstem: $logger->error('...', ['user_id' => 5])

Przykład 3

Tabela poziomów PSR-3 z opisem i przykładem
  1. Wstęp — debugging bez logów
  2. Podstawy logowania w PHP
  3. PSR-3 — interfejs i poziomy
  4. Monolog — konfiguracja
  5. Handlery i formattery
  6. Kontekst logu
  7. Monitoring błędów (Sentry)
  8. Podsumowanie i bibliografia

Dodaj logowanie do projektu!

Zainstaluj Monolog i dodaj logowanie do swojego miniprojektu. Zapisuj błędy walidacji do pliku. Opisz co i dlaczego logowałeś.