Skip to content

Logowanie zdarzen w aplikacjach

This content is not available in your language yet.

Logowanie zdarzen

Logowanie (logging) to proces zapisywania informacji o zdarzeniach zachodzacych w aplikacji. Dobre logi sa nieocenione przy debugowaniu, monitorowaniu wydajnosci i wykrywaniu naruszen bezpieczeństwa. Jednak źle zaprojektowane logi mogą być bezuzyteczne lub nawet niebezpieczne (np. gdy zawieraja hasła). Zrozumienie zasad logowania to klucz do profesjonalnego tworzenia oprogramowania.

  • Debugowanie - Logi pomagaja znaleźć przyczyne błędów w produkcji
  • Bezpieczeństwo - Wykrywanie włamań i podejrzanej aktywnosci
  • Audyt - Sledzenie kto, kiedy i co robił w systemie
  • Monitorowanie - Alertowanie o problemach zanim zauważy je użytkownik
  1. Rozumiec dlaczego logowanie jest ważne i jakie problemy rozwiązuje
  2. Umiec wyjaśnić poziomy logowania (DEBUG, INFO, WARNING, ERROR, CRITICAL)
  3. Potrafic pokazac przykłady kodu zapisujacego logi w PHP
  4. Wiedzieć jakie informacje wolno, a jakich nie wolno logowac
  1. Czym jest log

    • Definicja i cel logowania
    • Różnica miedzy logowaniem a debugowaniem
    • Gdzie zapisywać logi (plik, syslog, baza)
  2. Poziomy logowania

    • DEBUG - szczegółowe informacje dla developera
    • INFO - normalne zdarzenia aplikacji
    • WARNING - potencjalne problemy
    • ERROR - błędy wymagajace uwagi
    • CRITICAL - awarie krytyczne
  3. Struktura wpisu logu

    • Timestamp (data i czas)
    • Poziom (severity)
    • Kontekst (użytkownik, sesja, request ID)
    • Wiadomość
  4. Bezpieczeństwo logow

    • Czego NIE logowac (hasła, tokeny, dane osobowe)
    • Ochrona plikow logow
    • Rotacja i retencja logow

Przykład 1

Zapis do pliku - error_log() lub file_put_contents()

Przykład 2

Formatowany wpis - timestamp, poziom, wiadomość

Przykład 3

Logowanie błędu - try/catch z zapisem do logu

Przykład 4

Analiza logu - przykład odczytania i interpretacji wpisu

  • Biblioteki logowania (Monolog w PHP)
  • Strukturyzowane logi (JSON)
  • Centralizacja logow (ELK Stack, Graylog)
  • Korelacja zdarzen (request ID)
  • Alertowanie na podstawie logow
  • Log rotation i kompresja
  • Compliance (RODO a logi)
  1. Wstep (0.5 strony) - dlaczego logowanie jest ważne
  2. Czym jest log (1 strona) - definicja, cele, gdzie zapisywać
  3. Poziomy logowania (1.5 strony) - DEBUG do CRITICAL z przykładami
  4. Struktura wpisu (0.5 strony) - co powinien zawierac dobry log
  5. Bezpieczeństwo (1 strona) - co logowac, czego nie, ochrona plikow
  6. Przykłady w PHP (0.5 strony) - kod z omowieniem
  7. Podsumowanie (0.5 strony)
  8. Bibliografia
  1. Jaka jest różnica miedzy poziomem ERROR a CRITICAL?
  2. Dlaczego NIE wolno logowac haseł użytkowników?
  3. Co powinien zawierac dobrze sformatowany wpis logu?
  4. Jak chronić pliki logow przed nieautoryzowanym dostepem?
  5. Kiedy uzywamy poziomu DEBUG, a kiedy INFO?
  6. Co to jest rotacja logow i dlaczego jest potrzebna?

To więcej niz praca zaliczeniowa

Opracowanie tego tematu to szansa, by naprawde zrozumiec jak profesjonalnie monitorowac i debugowac aplikacje. Dobre logi to różnica miedzy godzinami szukania błędu a znalezieniem go w minuty.

Wykorzystaj lekcje - konsultuj watpliwosci, pokazuj postepy! Pracuj iteracyjnie - outline -> draft -> kod -> przykłady logow -> redakcja