logo

Log4J logningsniveauer

Logningsniveauer bruges til at kategorisere indtastningerne i din logfil. Men de kategoriserer på en meget specifik måde, altså efter uopsættelighed. Niveauet giver dig mulighed for at adskille følgende typer information:

java objekt lighed
  • Du kan filtrere dine logfiler under søgningen.
  • Du kan administrere mængden af ​​information, du logger.

Mængden og typen af ​​information givet i systemet og hændelseslogfiler styres af log4j-niveauindstillingerne i konfigurationsfilen. Hver logmeddelelse er præfikset af meddelelsens niveau.

Logningsniveauerne er et eksempel på org.apache.log4j.Niveau klasse.

Log4j har følgende niveauer af logning:

Log niveau Beskrivelse
ALLE Dette niveau aktiverer alle niveauer af logning. Det inkluderer de tilpassede logningsniveauer, som du har defineret. Når først denne er konfigureret, og niveauerne slet ikke tages i betragtning, vil alle appenderne begynde at hælde loghændelser i logfiler.
FEJLFINDE Debug bruges meget til at fejlfinde applikationen på udviklingstidspunktet. Hver logmeddelelse vises som logfiler, når dette niveau er indstillet. Det tilhører dybest set udviklere.
INFO INFO-logningsniveauet bruges til at optage meddelelser om rutinemæssig applikationsdrift. I realtid ser systemadministratorer infologgene for at sikre, hvad der sker på systemet lige nu, og om der er et problem i normal flow.
ADVARE WARN-logniveauet bruges til at indikere, at du muligvis har et problem, og at du har opdaget en usædvanlig situation. Måske krævede du at påberåbe en tjeneste, og den mislykkedes et par gange, før der blev oprettet forbindelse ved et automatisk genforsøg. Det er uventet og usædvanligt, men der skete ingen reel skade, og det vides ikke, om problemet vil fortsætte eller gentage sig. Nogen burde undersøge advarsler.
FEJL ERROR log-niveauet bruges til at angive et alvorligt problem, som du skal undersøge med det samme. Ikke så alvorlig som FATAL, men stadig et problem. Det betyder blot, at din ansøgning har mødt virkelig uønsket tilstand. For eksempel, uventet formateret input, database utilgængelighed.
FATAL FATAL-logniveauet, ligesom ERROR, angiver et problem. Men i modsætning til ERROR angiver det en meget alvorlig fejlhændelse. Du vil ikke overveje deres tilstedeværelse særlig meget på en normal dag, men når de først dukker op, signalerer det meget dårlige nyheder, selv anvendelsen af ​​døden.
AF Dette er den højest mulige rang og er beregnet til at slå logning fra.
SPOR Dette er for nylig blevet introduceret i version 1.2 og indeholder flere oplysninger til fejlretning af logfiler.

Hvordan indstilles logniveauer?

Indstil logniveau i 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 

Indstil logniveau i log4j.xml

 

Hvordan fungerer logniveauer?

Arbejdet med logningsniveauer er faktisk meget simpelt. Under kørsel vil applikationskoden oprette logningsanmodninger, som vil have et niveau. Samtidig har logningsrammen et logniveau konfigureret, som fungerer som en tærskel. Hvis anmodningsniveauet er på det konfigurerede niveau eller højere, logges det til det konfigurerede mål. Hvis ikke, er det afvist. Så enkelt er det.

Lad os betragte det som følgende rangorden for niveauerne:

 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>

Java program:

 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;); } } 

Kompiler og kør nu ovenstående program, og vi får følgende output i filen c:/usr/home/log4j/log.out:

 Warn Message! Error Message! Fatal Message!