logo

Log4J Logging nivåer

Loggnivåer brukes til å kategorisere oppføringene i loggfilen. Men de kategoriserer på en veldig spesifikk måte, dvs. etter at det haster. Nivået lar deg skille mellom følgende typer informasjon:

linkedlist og arraylist
  • Du kan filtrere loggfilene dine under søket.
  • Du kan administrere mengden informasjon du logger.

Mengden og typen informasjon gitt i systemet, og hendelseslogger styres av log4j-nivåinnstillingene i konfigurasjonsfilen. Hver loggmelding er prefikset av nivået på meldingen.

Loggingsnivåene er en forekomst av org.apache.log4j.Nivå klasse.

Log4j har følgende loggingsnivåer:

Loggnivå Beskrivelse
ALLE Dette nivået slår på alle nivåer av logging. Den inkluderer de tilpassede loggingsnivåene du har definert. Når denne er konfigurert og nivåene ikke vurderes i det hele tatt, vil alle tilleggene begynne å helle logghendelsene i loggfiler.
FEIL Debug brukes mye for å feilsøke applikasjonen på utviklingstidspunktet. Hver loggmelding vil vises for loggfiler når dette nivået er satt. Det tilhører i utgangspunktet utviklere.
INFO INFO-loggingsnivået brukes til å registrere meldinger om rutinemessig applikasjonsdrift. I sanntid ser systemadministratorer på infologgene for å sikre hva som skjer på systemet akkurat nå, og om det er noe problem i normal flyt.
VARSLE WARN-loggnivå brukes til å indikere at du kan ha et problem og at du har oppdaget en uvanlig situasjon. Kanskje du krevde å påkalle en tjeneste, og den mislyktes et par ganger før du koblet til på et automatisk nytt forsøk. Det er uventet og uvanlig, men ingen reell skade ble gjort, og det er ikke kjent om problemet vil vedvare eller gjenta seg. Noen bør undersøke advarsler.
FEIL ERROR-loggnivået brukes til å angi et alvorlig problem som du må undersøke umiddelbart. Ikke så alvorlig som FATAL, men fortsatt et problem. Det betyr ganske enkelt at søknaden din har møtt virkelig uønsket tilstand. For eksempel, uventet formatert inndata, utilgjengelighet av database.
FATAL FATAL-loggnivået, som ERROR, angir et problem. Men i motsetning til ERROR, angir det en svært alvorlig feilhendelse. Du vil ikke vurdere deres tilstedeværelse veldig mye på en vanlig dag, men når de dukker opp, signaliserer det svært dårlige nyheter, til og med bruken av død.
AV Dette er høyest mulig rangering og er ment å slå av logging.
SPOR Dette har nylig blitt introdusert i versjon 1.2 og inkluderer mer informasjon for å feilsøke nivålogger.

Hvordan angir jeg loggnivåer?

Sett loggnivå 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 

Angi loggnivå i log4j.xml

 

Hvordan fungerer loggnivåer?

Arbeidet med loggingsnivåer er faktisk veldig enkelt. Under kjøretid vil applikasjonskoden lage loggforespørsler, som vil ha et nivå. Samtidig har loggingsrammeverket et loggnivå konfigurert, som fungerer som en terskel. Hvis forespørselsnivået er på det konfigurerte nivået eller høyere nivå, blir det logget til det konfigurerte målet. Hvis ikke, er det avvist. Det er enkelt som det.

La oss se på det som følgende rangeringsrekkefølge for nivåene:

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

Nå kompiler og kjør programmet ovenfor, og vi vil få følgende utgang i filen c:/usr/home/log4j/log.out:

 Warn Message! Error Message! Fatal Message!