logo

Ravni beleženja Log4J

Ravni beleženja se uporabljajo za kategorizacijo vnosov v vaši dnevniški datoteki. Vendar jih kategorizirajo na zelo specifičen način, to je po nujnosti. Raven vam omogoča ločevanje naslednjih vrst informacij:

  • Med iskanjem lahko filtrirate svoje dnevniške datoteke.
  • Upravljate lahko količino informacij, ki jih prijavite.

Količina in vrsta informacij, podanih v sistemu, ter dnevniki dogodkov so nadzorovani z nastavitvami ravni log4j v konfiguracijski datoteki. Pred vsakim dnevniškim sporočilom je raven sporočila.

Ravni beleženja so primer org.apache.log4j.Level razred.

Log4j ima naslednje ravni beleženja:

Nivo dnevnika Opis
VSE Ta raven vklopi vse ravni beleženja. Vključuje ravni beleženja po meri, ki ste jih definirali. Ko je ta konfiguriran in se ravni sploh ne upoštevajo, bodo vsi dodajalci začeli zlivati ​​dogodke dnevnika v datoteke dnevnika.
DEBUG Debug se pogosto uporablja za odpravljanje napak v aplikaciji v času razvoja. Ko je ta raven nastavljena, se bo prikazalo vsako dnevniško sporočilo v dnevniških datotekah. V bistvu pripada razvijalcem.
INFO Raven beleženja INFO se uporablja za beleženje sporočil o rutinskem delovanju aplikacije. Skrbniki sistema v realnem času spremljajo dnevnike informacij, da zagotovijo, kaj se trenutno dogaja v sistemu, in če obstajajo kakršne koli težave v normalnem toku.
OPOZORILO Raven dnevnika WARN se uporablja za označevanje, da imate morda težave in da ste zaznali nenavadno situacijo. Morda ste zahtevali priklic storitve, ki je nekajkrat spodletela, preden se je samodejno znova povezala. To je nepričakovano in nenavadno, vendar resnične škode ni bilo in ni znano, ali se bo težava nadaljevala ali se bo ponovila. Nekdo bi moral raziskati opozorila.
NAPAKA Raven dnevnika ERROR se uporablja za označevanje resne težave, ki jo morate takoj raziskati. Ni tako resno kot FATAL, a vseeno problem. To preprosto pomeni, da je vaša aplikacija v res neželenem stanju. Na primer, nepričakovano oblikovan vnos, nedostopnost baze podatkov.
USODNO Raven dnevnika FATAL, tako kot ERROR, označuje težavo. Toda za razliko od ERROR označuje zelo resen dogodek napake. Običajen dan ne boste preveč razmišljali o njihovi prisotnosti, ko pa se pojavijo, sporočajo zelo slabe novice, celo smrt.
IZKLOP To je najvišji možni rang in je namenjen izklopu beleženja.
TRACE To je bilo nedavno uvedeno v različici 1.2 in vključuje več informacij za dnevnike ravni odpravljanja napak.

Kako nastaviti ravni dnevnika?

Nastavite raven dnevnika v 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 

Nastavite raven dnevnika v log4j.xml

 

Kako delujejo ravni dnevnika?

Delovanje ravni beleženja je pravzaprav zelo preprosto. Med izvajanjem bo koda aplikacije ustvarila zahteve za beleženje, ki bodo imele raven. Istočasno ima ogrodje beleženja konfigurirano raven dnevnika, ki deluje kot prag. Če je raven zahteve na konfigurirani ravni ali višji ravni, se zabeleži v konfigurirani cilj. Če ne, je zavrnjeno. Preprosto je tako.

Vzemimo to kot naslednji vrstni red za stopnje:

 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>

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

Zdaj prevedite in zaženite zgornji program in dobili bi naslednji izhod v datoteki c:/usr/home/log4j/log.out:

 Warn Message! Error Message! Fatal Message!