A naplózási szintek a naplófájl bejegyzéseinek kategorizálására szolgálnak. De nagyon konkrét módon, azaz sürgősség szerint kategorizálnak. A szint lehetővé teszi a következő típusú információk elkülönítését:
- A keresés során szűrheti a naplófájlokat.
- Kezelheti a naplózott információ mennyiségét.
A rendszerben és az eseménynaplókban megadott információk mennyiségét és típusát a konfigurációs fájl log4j szintű beállításai szabályozzák. Minden naplóüzenet előtt az üzenet szintje áll.
karakterlánc dátummá alakítása
A naplózási szintek a org.apache.log4j.Level osztály.
A Log4j a következő naplózási szintekkel rendelkezik:
Napló szint | Leírás |
---|---|
MINDEN | Ez a szint bekapcsolja a naplózás minden szintjét. Tartalmazza az Ön által meghatározott egyéni naplózási szinteket. Ha ez be van állítva, és a szinteket egyáltalán nem veszi figyelembe, akkor az összes csatoló elkezdi a naplóeseményeket naplófájlokba önteni. |
DEBUG | A Debug-ot gyakran használják az alkalmazás hibakeresésére a fejlesztés során. A szint beállítása után minden naplóüzenet megjelenik a naplófájlokban. Ez alapvetően a fejlesztőké. |
INFO | Az INFO naplózási szint az alkalmazások rutinműködésével kapcsolatos üzenetek rögzítésére szolgál. A rendszergazdák valós időben figyelik az információs naplókat, hogy megbizonyosodjanak arról, hogy éppen mi történik a rendszeren, és ha a normál folyamatban van-e probléma. |
FIGYELMEZTET | A FIGYELMEZTETÉS naplószintje annak jelzésére szolgál, hogy probléma lehet, és szokatlan helyzetet észlelt. Lehet, hogy egy szolgáltatás meghívását követelte, és ez néhányszor meghiúsult, mielőtt automatikus újrapróbálkozással csatlakozott volna. Váratlan és szokatlan, de valódi kár nem történt, és nem tudni, hogy a probléma továbbra is fennáll-e vagy megismétlődik. Valakinek ki kellene vizsgálnia a figyelmeztetéseket. |
HIBA | Az ERROR naplószint egy súlyos probléma jelölésére szolgál, amelyet azonnal ki kell vizsgálnia. Nem olyan súlyos, mint VÉGZETES, de még mindig probléma. Ez egyszerűen azt jelenti, hogy az alkalmazás valóban nem kívánt állapotba került. Például váratlan formázott bevitel, adatbázis elérhetetlensége. |
HALÁLOS | A FATAL naplószint, mint az ERROR, problémát jelöl. De az ERROR-ral ellentétben ez egy nagyon súlyos hibaeseményt jelöl. Egy átlagos napon nem nagyon veszi figyelembe a jelenlétüket, de ha egyszer megjelennek, az nagyon rossz hírt jelez, akár a halál alkalmazását is. |
KI | Ez a lehető legmagasabb rang, és a naplózás kikapcsolására szolgál. |
NYOM | Ezt nemrégiben vezették be az 1.2-es verzióban, és további információkat tartalmaz a hibakeresési szintű naplókról. |
Hogyan állítsuk be a naplózási szinteket?
Állítsa be a naplózási szintet a log4j.properties fájlban
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
Állítsa be a naplózási szintet a log4j.xml fájlban
Hogyan működnek a naplószintek?
A naplózási szintek működése valójában nagyon egyszerű. Futás közben az alkalmazás kódja naplózási kéréseket hoz létre, amelyeknek lesz szintje. Ugyanakkor a naplózási keretrendszerben van egy naplózási szint konfigurálva, amely küszöbként működik. Ha a kérés szintje a konfigurált vagy magasabb szinten van, akkor a rendszer naplózza a konfigurált célt. Ha nem, akkor meg van tagadva. Ez ilyen egyszerű.
Tekintsük ezt a szintek következő rangsorának:
vba
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 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('Trace Message!'); log.debug('Debug Message!'); log.info('Info Message!'); log.warn('Warn Message!'); log.error('Error Message!'); log.fatal('Fatal Message!'); } }
Most fordítsa le és futtassa a fenti programot, és a következő kimenetet kapjuk a c:/usr/home/log4j/log.out fájlban:
Warn Message! Error Message! Fatal Message!