2. O logach słów kilka
Logowanie
to proces zapisywania informacji do plików.
Pliki zawierają informację o zdarzeniach zachodzących w systemie, aplikacji
lub/i komunikacji. Logowanie nie ogranicza się wyłącznie do identyfikowania
błędów podczas tworzenia/działania aplikacji. Służy również do wykrywania
luk bezpieczeństwa, monitorowania naruszeń polityki serwisu, dostarczania
danych w wypadku występowania problemów itp.
3. Informacje logujemy w celu:
● zebrania danych
● rozwiązywania problemów
● generowania statystyk
● sporządzania audytów
● profilowaniu
4. ● kod źródłowy aplikacji
● dane identyfikacyjne sesji
● dane wrażliwe użytkowników
● parametry połączeń baz danych
● dane kont bankowych i kart płatniczych
● błędy walidacji formularzy
● błędy autentykacji i autoryzacji
● błędy aplikacji
● zmiany konfiguracyjne
● uruchomienie/zamknięcie aplikacji
Informacje, których
nie powinniśmy logować:
Informacje, które
powinniśmy logować:
5. Dobre praktyki logowania.
● posiadać określony cel
● zawierać kontekst, zdarzenie którego dotyczą logowane dane
● być zbalansowane, nie zawierać zbyt małej lub zbyt dużej ilości danych
● posiadać strukturę i być logowane na różnych poziomach
● być adaptowane do środowiska deweloperskiego i produkcyjnego
● być zapisywane do wielu plików
● komunikaty zawarte w logach powinny być zrozumiałe dla człowieka,
i dające się łatwo zinterpretować przez parsery
Logi powinny:
6. Logi w PHP
PSR-3: Logger Interface - interfejs dla bibliotek zapisujących logi
PSR-3 - dostarcza opis interfejsu, który zawiera osiem metod do zapisywania ośmiu poziomów logów
zgodnych ze standardem RFC 5424 (debug, info, notice, warning, error, critical, alert, emergency).
Dziewiąta, uniwersalna metoda o nazwie ”log” jako pierwszy parametr przyjmuje jeden z poziomów logów.
Monolog - Popularna biblioteka PHP do zapisywania logów. Pozwala na zapis do plików, socketów,
folderów, baz danych, webserwisów itp.
Logi w Magento 2
Magento/Framework/Logger - klasy do logowania oparte na bibliotece Monolog