czwartek, 28 sierpnia 2014

Logowanie

• Logi aplikacji zachowują informacje dotyczące przebiegu jej działania. Dzięki ich posiadaniu można post factum przeanalizować historię czynności podjętych przez aplikację i na jej podstawie np. zdiagnozować błąd programu lub użytkownika
• Wśród informacji które powinny być przekazywane przez aplikację, można zaliczyć:
  - Wszelkiego rodzaju komunikaty błędów, w szczególności wyjątki. W większości przypadków informacji tych nie eksponuje się użytkownikowi, ale nie można ich porzucić - bez nich diagnozowanie przyczyny błędu byłoby utrudnione lub wręcz niemożliwe
  - Informacje o istotnych parametrach (poprawnego) działania aplikacji - mogą one być przydatne np. do sporządzenia statystyk wykorzystania i wydajności aplikacji
  - Szczegółowe informacje o sekwencji wykonywania jednostek aplikacji (np. metod) - pozwalają np. na śledzenie aktywności podejmowanych przez użytkowników (tzw. kontrola odpowiedzialności użytkownika)
  - Szczegółowe informacje o zmianach stanu aplikacji (np. wynikach obliczeń) - pozwalają one na diagnozowanie błędów na poziomie algorytmu (tzw. debugowanie, odpluskwianie)
(Zapisywanie logów nie jest alternatywą, tylko uzupełnieniem śledzenia wykonania za pomocą specjalizowanych narzędzi - debugger. Tylko poprzez zapisane logi można poznać historię działania aplikacji w środowisku produkcyjnym)
• Wypisywanie komunikatów do wyjścia standardowego (System.out.print()) NIE jest poprawnym rozwiązaniem logowania
  - Brak automatyzacji, wsparcia dla programów logowania
  - Brak kontroli nad emisją komunikatów
  - Z reguły niezamierzona ekspozycja komunikatów przed użytkowaniem aplikacji
  - Nieoptymalne działanie
• Poprawne rozwiążanie wymaga zastosowania specjalizowanej implementacji logowania



 

Brak komentarzy:

Prześlij komentarz