Log.INFO a Log.DEBUG [zamknięte]


98

Rozwijam duży program komercyjny i ciągle mylę się między rodzajami informacji, które chcę rejestrować w Log.INFO i Log.DEBUG. Czy istnieją jakieś standardy lub praktyczne zasady dotyczące zawartości każdego typu komunikatu dziennika?

Odpowiedzi:


136

Zwykle staram się go używać w ten sposób:

  • DEBUGOWANIE: Informacje interesujące dla programistów podczas próby debugowania problemu.
  • INFO: Informacje interesujące dla personelu pomocniczego próbującego zrozumieć kontekst danego błędu
  • WARN to FATAL: Problemy i błędy w zależności od poziomu uszkodzeń.

czy INFO może być włączone zawsze w środowisku produkcyjnym, czy będzie to miało wpływ na wydajność?
pinkpanther

1
To zależy ... (Podoba mi się ta odpowiedź) Czynniki, które musisz wziąć pod uwagę to: 1. Liczba linii dziennika informacji 2. Konfiguracja logowania (gdzie kończą się twoje linie logowania?) 3. Dostępne przetwarzanie i moc we / wy zainteresowane systemy.
nfechner

1
Pamiętaj, że im więcej hałasu, tym trudniej dostrzec problemy. Z plumberjack.blogspot.be/2010/09/… :> Podobnie jak w filozofii Uniksa, oprogramowanie nie powinno być nadmiernie rozwlekłe, chyba że jest to konieczne lub o to się prosi. (dlaczego nie mogę tego zacytować?)
axd

39

Debugowanie : szczegółowe instrukcje dotyczące stanu programu, zwykle używane do debugowania;

Info : oświadczenia informacyjne dotyczące stanu programu, przedstawiające zdarzenia programu lub śledzenie zachowania;

Ostrzegaj : stwierdzenia opisujące potencjalnie szkodliwe zdarzenia lub stany w programie;

Błąd : instrukcje opisujące niekrytyczne błędy w aplikacji; ten poziom jest używany dość często do rejestrowania obsługiwanych wyjątków;

Fatal : instrukcje reprezentujące najpoważniejsze błędy, które przypuszczalnie powodują zakończenie programu.

Znalezione na http://www.beefycode.com/post/Log4Net-Tutorial-pt-1-Getting-Started.aspx


Czy błędy wywołane przez użytkownika powinny być traktowane jako ostrzeżenia czy błędy? (IE Nieprawidłowa nazwa użytkownika lub hasło)
Stevoisiak

@Stevoisiak bazując na jego odpowiedzi myślę, że powinno to być traktowane jako informacja.
aderchox

9

Należy również pamiętać, że wszystkie info(), error()i debug()wzywa rejestrowania dostarczenia dokumentacji wewnętrznej w dowolnej aplikacji.


Myślę, że to dobra uwaga. Np. log.info("parse the widget text; ignore contents of 'foo'")Służy jako przydatna dokumentacja podczas czytania kodu, nawet jeśli jest to również instrukcja log.
Gulasz
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.