Nivelurile de înregistrare sunt folosite pentru a clasifica intrările din fișierul dvs. jurnal. Dar ei clasifică într-un mod foarte specific, adică în funcție de urgență. Nivelul vă permite să separați următoarele tipuri de informații:
- Puteți filtra fișierele jurnal în timpul căutării.
- Puteți gestiona cantitatea de informații pe care o înregistrați.
Cantitatea și tipul de informații date în sistem și jurnalele de evenimente sunt controlate de setările de nivel log4j din fișierul de configurare. Fiecare mesaj de jurnal este prefixat de nivelul mesajului.
Nivelurile de înregistrare sunt o instanță a org.apache.log4j.Level clasă.
Log4j are următoarele niveluri de înregistrare:
Nivel de jurnal | Descriere |
---|---|
TOATE | Acest nivel activează toate nivelurile de înregistrare. Include nivelurile de înregistrare personalizate pe care le-ați definit. Odată ce acesta este configurat și nivelurile nu sunt luate în considerare deloc, atunci toți adjuncții vor începe să turneze evenimentele de jurnal în fișierele de jurnal. |
DEBUG | Depanarea este folosită mult pentru depanarea aplicației în timpul dezvoltării. Fiecare mesaj de jurnal va apărea în fișierele de jurnal odată ce acest nivel este setat. Practic aparține dezvoltatorilor. |
INFO | Nivelul de înregistrare INFO este utilizat pentru a înregistra mesaje despre funcționarea de rutină a aplicației. În timp real, administratorii de sistem urmăresc jurnalele de informații pentru a se asigura de ce se întâmplă în sistem chiar acum și dacă există vreo problemă în fluxul normal. |
A AVERTIZA | Nivelul de jurnal WARN este folosit pentru a indica că este posibil să aveți o problemă și că ați detectat o situație neobișnuită. Poate ați solicitat să invocați un serviciu și acesta a eșuat de câteva ori înainte de a vă conecta la o reîncercare automată. Este neașteptat și neobișnuit, dar nu a fost făcut niciun rău real și nu se știe dacă problema va persista sau va reapare. Cineva ar trebui să investigheze avertismentele. |
EROARE | Nivelul jurnalului ERORI este folosit pentru a indica o problemă serioasă pe care trebuie să o investigați imediat. Nu la fel de grav ca FATAL, dar totuși o problemă. Înseamnă pur și simplu că aplicația ta a întâlnit o stare cu adevărat nedorită. De exemplu, intrare formatată neașteptată, indisponibilitatea bazei de date. |
FATAL | Nivelul de jurnal FATAL, ca EROARE, desemnează o problemă. Dar, spre deosebire de EROARE, desemnează un eveniment de eroare foarte grav. Nu vei avea în vedere prea mult prezența lor într-o zi normală, dar odată ce apar, semnalează o veste foarte proastă, chiar și aplicarea morții. |
OFF | Acesta este cel mai înalt rang posibil și are scopul de a dezactiva înregistrarea. |
URMĂ | Acesta a fost introdus recent în versiunea 1.2 și include mai multe informații pentru jurnalele de nivel de depanare. |
Cum se setează nivelurile de jurnal?
Setați nivelul de jurnal în log4j.properties
log4j.rootLogger=DEBUG, consoleAppender log4j.appender.consoleAppender=org.apache.log4j.ConsoleAppender log4j.appender.consoleAppender.layout=org.apache.log4j.PatternLayout log4j.appender.consoleAppender.layout.ConversionPattern=[%t] %-5p %c %x - %m%n #Log info messages for package 'com.javatpoint.web.controller' log4j.logger.com.javatpoint.web.controller=INFO, consoleAppender
Setați nivelul de jurnal în log4j.xml
Cum funcționează Log Levels?
Funcționarea nivelurilor de înregistrare este de fapt foarte simplă. În timpul rulării, codul aplicației va crea cereri de înregistrare, care vor avea un nivel. În același timp, cadrul de înregistrare are configurat un nivel de jurnal, care acționează ca un prag. Dacă nivelul de solicitare este la nivelul configurat sau la un nivel superior, acesta este conectat la ținta configurată. Dacă nu, este negat. E simplu așa.
Să considerăm că este următoarea ordine de rang pentru niveluri:
ALL <trace < debug info warn error fatal off pre> <p>So if, for instance, the logging framework level is set to WARN, requests with any of the levels WARN, FATAL, and ERROR will be accepted, while the rest will be denied.</p> <img src="//techcodeview.com/img/log4j-tutorial/51/log4j-logging-levels.webp" alt="Log4J Logging Levels"> <p>In the above diagram, the vertical header displays the Level of the LogEvent, while the horizontal header shows the Level associated with the appropriate logging configuration.</p> <p>For the first column, you will see how the log works in each level. For example, for WARN, (FATAL, ERROR, and WARN) will be visible. For OFF, nothing will be visible.</p> <h3>Log4j Level Example</h3> <p> <strong>Configuration File:</strong> </p> <pre> # Define the root logger with appender file log = /usr/home/log4j log4j.rootLogger = WARN, FILE # Define the file appender log4j.appender.FILE=org.apache.log4j.FileAppender log4j.appender.FILE.File=${log}/log.out # Define the layout for file appender log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.conversionPattern=%m%n </pre> <p> <strong>Java Program:</strong> </p> <pre> import org.apache.log4j.*; public class LogClass { private static org.apache.log4j.Logger log = Logger.getLogger(LogClass.class); public static void main(String[] args) { log.trace('Trace Message!'); log.debug('Debug Message!'); log.info('Info Message!'); log.warn('Warn Message!'); log.error('Error Message!'); log.fatal('Fatal Message!'); } } </pre> <p>Now compile and run the above program and we would get the following output in c:/usr/home/log4j/log.out file:</p> <pre> Warn Message! Error Message! Fatal Message! </pre> <hr></trace>
Program Java:
import org.apache.log4j.*; public class LogClass { private static org.apache.log4j.Logger log = Logger.getLogger(LogClass.class); public static void main(String[] args) { log.trace('Trace Message!'); log.debug('Debug Message!'); log.info('Info Message!'); log.warn('Warn Message!'); log.error('Error Message!'); log.fatal('Fatal Message!'); } }
Acum compilați și rulați programul de mai sus și vom obține următoarea ieșire în fișierul c:/usr/home/log4j/log.out:
Warn Message! Error Message! Fatal Message!