CodeGym/Curs Java/Modulul 3/Setarea nivelurilor de înregistrare

Setarea nivelurilor de înregistrare

Disponibil

4.1 Lista nivelurilor de înregistrare

Ți-ai scris programul, l-ai încărcat pe server și apoi imediat începi să ai întrebări:

  • Cum să vă asigurați că debug()metoda nu funcționează în timp ce lucrați production?
  • Există prea multe informații în jurnal, ați dori să lăsați doar mesaje de eroare?
  • Cum să vezi un jurnal detaliat pentru o parte a aplicației?

Desigur, creatorii buștenilor s-au confruntat cu același lucru cu zeci de ani în urmă. Nu vă voi spune cum a fost rezolvată această problemă în limbajul C, dar în limbajul Java a fost rezolvată foarte frumos.

Jurnalul filtrează datele înainte de a scrie informațiile în . Puteți reduce/crește foarte rapid detaliile jurnalului prin setarea nivelului de înregistrare. Aceste niveluri sunt descrise în tabelul de mai jos:

Nivel Notă
1 TOATE Înregistrați toate mesajele
2 URMĂ Mic mesaj la depanare
3 DEBUG Mesaje importante pentru depanare
4 INFO Mesaje simple
5 A AVERTIZA Scrieți numai fatal, eroare și avertisment
6 EROARE Scrieți numai erori și erori fatale
7 FATAL Scrieți numai erori fatale
8 OFF Nu scrieți mesaje în jurnal

Aceste niveluri sunt folosite la filtrarea mesajelor. Dacă setați nivelul de înregistrare la WARN, atunci toate mesajele mai puțin importante decât WARNvor fi eliminate: TRACE, DEBUG, INFO. Dacă setați nivelul de filtrare la FATAL, atunci chiar ERROR.

Există încă două niveluri de severitate care sunt utilizate în filtrare - acesta OFF(renunțați la toate mesajele) și ALL- scrieți toate mesajele (renunțați nimic).

4.2 Exemplu de configurare a jurnalului

Să ne uităm la un exemplu simplu de configurare a jurnalului. Pentru a face acest lucru, avem nevoie de fișierul log4j.properties, care poate fi plasat în folderul resurse. Să adăugăm următorul conținut:

# Root logger option
log4j.rootLogger=WARN, stdout

# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}

Aici, în prima linie, setăm nivelul de înregistrare - WARN. Și asta înseamnă că mesajele care sunt scrise în logger cu stare DEBUGvor INFOfi ignorate.

  • Specificați ce tip de anexă vom folosi -ConsoleAppender
  • Specificați unde vom scrie jurnalul -System.out
  • Am stabilit clasa care va controla formatul de înregistrare -PatternLayout
  • Setați formatul de înregistrare pentru toate mesajele - data și ora

4.3 Greșeli populare de înregistrare

Și încă un punct important - erori populare în înregistrare. Nu există atât de multe opțiuni pentru a face ceva, dar pot fi identificate câteva greșeli comune:

  1. Prea mult logare . Nu ar trebui să înregistrați fiecare pas, ceea ce teoretic poate fi important. Există o regulă: jurnalele pot încărca performanța cu cel mult 10% . În caz contrar, vor apărea probleme de performanță.
  2. Înregistrarea tuturor datelor într-un singur fișier . Acest lucru va face să fie foarte dificil de citit/scris la un moment dat, ca să nu mai vorbim de faptul că există limite de dimensiune a fișierelor pe anumite sisteme.
  3. Utilizarea nivelurilor de înregistrare greșite . Fiecare nivel de exploatare are limite clare și trebuie respectate. Dacă granița este vagă, puteți conveni ce nivel să utilizați.
Comentarii
  • Popular
  • Nou
  • Vechi
Trebuie să fii conectat pentru a lăsa un comentariu
Această pagină nu are încă niciun comentariu