logo

Nivells de registre de Log4J

Els nivells de registre s'utilitzen per categoritzar les entrades del vostre fitxer de registre. Però categoritzen d'una manera molt concreta, és a dir, per urgència. El nivell permet separar els següents tipus d'informació:

  • Podeu filtrar els fitxers de registre durant la cerca.
  • Podeu gestionar la quantitat d'informació que registreu.

La quantitat i el tipus d'informació proporcionada al sistema i els registres d'esdeveniments estan controlats per la configuració del nivell log4j del fitxer de configuració. Cada missatge de registre té el prefix del nivell del missatge.

Els nivells de registre són una instància de org.apache.log4j.Level classe.

Log4j té els següents nivells de registre:

Nivell de registre Descripció
TOTS Aquest nivell activa tots els nivells de registre. Inclou els nivells de registre personalitzats que heu definit. Una vegada que aquest estigui configurat i els nivells no es tinguin en compte en absolut, tots els annexos començaran a abocar els esdeveniments de registre als fitxers de registre.
DEpuració La depuració s'utilitza molt per depurar l'aplicació en temps de desenvolupament. Cada missatge de registre apareixerà als fitxers de registre un cop establert aquest nivell. Bàsicament pertany als desenvolupadors.
INFO El nivell de registre INFO s'utilitza per gravar missatges sobre el funcionament rutinari de l'aplicació. En temps real, els administradors del sistema miren els registres d'informació per assegurar-se què està passant al sistema en aquest moment i si hi ha algun problema en el flux normal.
ADVERTIR El nivell de registre WARN s'utilitza per indicar que podeu tenir un problema i que heu detectat una situació inusual. Potser estàveu exigint invocar un servei i va fallar un parell de vegades abans de connectar-vos en un nou intent automàtic. És inesperat i inusual, però no es va fer cap dany real i no se sap si el problema persistirà o es repetirà. Algú hauria d'investigar els avisos.
ERROR El nivell de registre d'ERROR s'utilitza per indicar un problema greu que cal investigar immediatament. No és tan greu com FATAL, però segueix sent un problema. Simplement vol dir que la vostra aplicació ha trobat un estat realment no desitjat. Per exemple, entrada amb format inesperada, no disponibilitat de base de dades.
FATAL El nivell de registre FATAL, com ERROR, designa un problema. Però a diferència d'ERROR, designa un esdeveniment d'error molt greu. No tindràs molt en compte la seva presència en un dia normal, però un cop apareixen, indica molt males notícies, fins i tot l'aplicació de la mort.
OFF Aquest és el rang més alt possible i està pensat per desactivar el registre.
TRAÇA Això s'ha introduït recentment a la versió 1.2 i inclou més informació per depurar els registres de nivell.

Com establir els nivells de registre?

Estableix el nivell de registre a 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 

Estableix el nivell de registre a log4j.xml

 

Com funcionen els nivells de registre?

El funcionament dels nivells de registre és realment molt senzill. Durant el temps d'execució, el codi de l'aplicació crearà sol·licituds de registre, que tindran un nivell. Al mateix temps, el marc de registre té configurat un nivell de registre, que actua com a llindar. Si el nivell de sol·licitud es troba al nivell configurat o a un nivell superior, es registra a l'objectiu configurat. Si no, es nega. És senzill així.

Considerem-ho com el següent ordre de classificació per als nivells:

 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(&apos;Trace Message!&apos;); log.debug(&apos;Debug Message!&apos;); log.info(&apos;Info Message!&apos;); log.warn(&apos;Warn Message!&apos;); log.error(&apos;Error Message!&apos;); log.fatal(&apos;Fatal Message!&apos;); } } </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>

Programa 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(&apos;Trace Message!&apos;); log.debug(&apos;Debug Message!&apos;); log.info(&apos;Info Message!&apos;); log.warn(&apos;Warn Message!&apos;); log.error(&apos;Error Message!&apos;); log.fatal(&apos;Fatal Message!&apos;); } } 

Ara compileu i executeu el programa anterior i obtindríem la següent sortida al fitxer c:/usr/home/log4j/log.out:

 Warn Message! Error Message! Fatal Message!