Conectarea la java - overflow în rusă

Am întâlnit pe Internet următorul citat:

Logarea ar trebui să fie în scris. Pentru System.out.println pentru ieșirea jurnalelor pentru programele începător, după o săptămână de antrenament ar trebui să fie tăiate mâinile.







  • Prompt cum să aranjați în mod corespunzător de logare Java în aplicații offline pe Tomcat și în alte cazuri (în măsura în care știu că sunt diferite comenzi în intrarea în jurnal).
  • Cum se selectează prioritățile mesajului? Există vreun acord secret cu care mesaje, ce prioritate ar trebui să pun?
  • Fie că este necesar să se reducă statutul de prioritate în setările, imprimați un jurnal doar face toate acțiunile care au loc (de exemplu parola este verificată, selectați un anumit element de meniu, a crea o nouă instanță a unei astfel de clasă a fost de succes, și altele - adică, cu alte cuvinte, toate lucrurile mici în cazul în care trebuie să găsiți o eroare)?

Standardul industrial pentru logarea de-facto în Java este Log4J. Toate celelalte sisteme de logare sunt de la viclean, inclusiv java.util.logging. Apache commons-loggins și așa mai departe. newfangled LogBack (apropo, acesta din urmă este încă compatibil cu Log4J)







Aproape toate sistemele suport logging-ul în stilul Log4J (înțeleg sisteme reale Java, nu Android, care nu este exact Java). Dacă nu suportă Log4J - atunci acesta este probabil un sistem greșit :)

Într-o aplicație obișnuită, gestionarea jurnalului este de obicei făcută în fișierul de configurare extern log4j.properties. Deci, de obicei, controlați jurnalele: și anume, ceea ce să ieșiți și unde să ieșim este redus la șamanism cu fișierul log4j.properties. În versiunea nu atât de complicată, ar putea arăta astfel:

În ceea ce privește problema nivelului de exploatare forestieră. Acordurile nerostite sunt:

  • Nivelul INFO informează pur și simplu despre un anumit eveniment
  • Nivel DEBUG - folosit pentru depanare
  • Nivel WARN - un mesaj de eroare sau o situație neobișnuită care este potențial periculoasă
  • Nivelul ERROR este un mesaj de eroare, după care funcționarea programului este încă posibilă
  • Nivelul FATAL este un mesaj de eroare, după care funcționarea normală a programului este imposibilă. De obicei, după aceea, programul nu mai funcționează.

2) De multe ori apare întrebarea (probabil că nu este chiar o întrebare, ci un test holivar): cât de mult logarea afectează performanța. Personal, rezolv această întrebare pentru mine așa:

Undeva unde declar o constantă (de exemplu, în clasa MyMain):

și mai departe în locurile în care există depanare logging scrie:

Când ieșiți la producția DEBUG setați fals și toate. Compilatorul însuși va fi deja eliminat din jurnalele de coduri înfășurate dacă (DEBUG) - toată lumea este fericită.







Trimiteți-le prietenilor: