Registravimo lygiai naudojami įrašams žurnalo faile suskirstyti į kategorijas. Tačiau jie skirstomi į kategorijas labai konkrečiai, ty pagal skubumą. Lygis leidžia atskirti šių rūšių informaciją:
jtextfield
- Ieškodami galite filtruoti žurnalo failus.
- Galite valdyti registruojamos informacijos kiekį.
Sistemoje pateikiamos informacijos kiekis ir tipas bei įvykių žurnalai valdomi pagal log4j lygio nustatymus konfigūracijos faile. Prie kiekvieno žurnalo pranešimo nurodomas pranešimo lygis.
Registravimo lygiai yra pavyzdys org.apache.log4j.Level klasė.
Log4j turi šiuos registravimo lygius:
Žurnalo lygis | apibūdinimas |
---|---|
VISI | Šis lygis įjungia visus registravimo lygius. Tai apima pasirinktinius registravimo lygius, kuriuos nustatėte. Kai šis bus sukonfigūruotas ir į lygius visiškai neatsižvelgiama, visi priedai pradės leisti žurnalo įvykius į žurnalo failus. |
DERINTI | Debug dažnai naudojamas programos derinimui kūrimo metu. Nustačius šį lygį, kiekvienas žurnalo pranešimas bus rodomas žurnalo failams. Iš esmės tai priklauso kūrėjams. |
INFORMACIJA | INFO registravimo lygis naudojamas pranešimams apie įprastą programos veikimą įrašyti. Sistemos administratoriai realiuoju laiku stebi informacijos žurnalus, kad įsitikintų, kas šiuo metu vyksta sistemoje ir ar yra kokių nors problemų normaliame sraute. |
ĮSPĖJIMAS | ĮSPĖJIMO žurnalo lygis naudojamas norint nurodyti, kad gali kilti problemų ir kad aptikote neįprastą situaciją. Galbūt reikalavote iškviesti paslaugą, tačiau ji kelis kartus nepavyko prieš prisijungiant automatiškai bandant pakartotinai. Tai netikėta ir neįprasta, tačiau realios žalos nepadaryta ir nežinoma, ar problema išliks, ar pasikartos. Kažkas turėtų ištirti įspėjimus. |
KLAIDA | KLAIDŲ žurnalo lygis naudojamas rimtai problemai, kurią turite nedelsiant ištirti, žymėti. Ne tokia rimta kaip MIRTINGA, bet vis tiek problema. Tai tiesiog reiškia, kad jūsų paraiška pasiekė tikrai nepageidaujamą būseną. Pavyzdžiui, netikėta suformatuota įvestis, duomenų bazės nepasiekiamumas. |
MIRTINAS | FATAL žurnalo lygis, kaip ir ERROR, nurodo problemą. Tačiau skirtingai nei ERROR, jis nurodo labai rimtą klaidos įvykį. Įprastą dieną apie jų buvimą labai nesvarstysite, bet kai jie pasirodo, tai signalizuoja labai blogas naujienas, netgi mirties taikymą. |
IŠJUNGTA | Tai aukščiausias įmanomas rangas ir skirtas išjungti registravimą. |
TRACE | Tai neseniai buvo pristatyta 1.2 versijoje ir apima daugiau informacijos derinimo lygio žurnalams. |
Kaip nustatyti žurnalo lygius?
Nustatykite žurnalo lygį log4j.properties
sumažinimo vaizdai
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
Nustatykite žurnalo lygį log4j.xml
Kaip veikia žurnalo lygiai?
Registravimo lygių darbas iš tikrųjų yra labai paprastas. Vykdymo metu programos kodas sukurs registravimo užklausas, kurios turės lygį. Tuo pačiu metu registravimo sistemoje yra sukonfigūruotas žurnalo lygis, kuris veikia kaip slenkstis. Jei užklausos lygis yra sukonfigūruoto arba aukštesnio lygio, jis registruojamas į sukonfigūruotą tikslą. Jei ne, tai paneigta. Tai taip paprasta.
Laikykime tai tokia lygių eilės tvarka:
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>
Java programa:
nginx kintamieji
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!'); } }
Dabar sukompiliuokite ir paleiskite aukščiau pateiktą programą, o faile c:/usr/home/log4j/log.out gautume tokią išvestį:
Warn Message! Error Message! Fatal Message!