Úrovně protokolování se používají ke kategorizaci položek v souboru protokolu. Ale kategorizují velmi specifickým způsobem, tedy podle naléhavosti. Úroveň umožňuje oddělit následující druhy informací:
kolik filmů s nemožnými úkoly existuje
- Soubory protokolu můžete během vyhledávání filtrovat.
- Můžete spravovat množství informací, které protokolujete.
Množství a typ informací uvedených v systému a protokoly událostí jsou řízeny nastavením úrovně log4j v konfiguračním souboru. Každá zpráva protokolu má předponu úrovně zprávy.
Úrovně protokolování jsou příkladem org.apache.log4j.Level třída.
Log4j má následující úrovně protokolování:
Úroveň protokolu | Popis |
---|---|
VŠECHNO | Tato úroveň zapíná všechny úrovně protokolování. Zahrnuje vlastní úrovně protokolování, které jste definovali. Jakmile je toto nakonfigurováno a úrovně se vůbec neberou v úvahu, všechny appendery začnou nalévat události protokolu do souborů protokolu. |
LADIT | Debug se hodně používá k ladění aplikace v době vývoje. Po nastavení této úrovně se v souborech protokolu objeví každá zpráva protokolu. V podstatě patří vývojářům. |
INFO | Úroveň protokolování INFO se používá k zaznamenávání zpráv o rutinním provozu aplikace. Správci systému v reálném čase sledují informační protokoly, aby se ujistili, co se právě děje v systému a zda se nevyskytnou nějaké problémy v normálním toku. |
VAROVAT | Úroveň protokolu WARN se používá k označení, že můžete mít problém a že jste zjistili neobvyklou situaci. Možná jste požadovali vyvolat službu a ta několikrát selhala, než se připojila při automatickém opakování. Je to neočekávané a neobvyklé, ale nedošlo k žádné skutečné újmě a není známo, zda problém přetrvává nebo se bude opakovat. Někdo by měl varování prozkoumat. |
CHYBA | Úroveň protokolu ERROR se používá k označení vážného problému, který musíte okamžitě prošetřit. Ne tak vážné jako FATAL, ale stále problém. Jednoduše to znamená, že vaše aplikace dosáhla skutečně nežádoucího stavu. Například neočekávaný formátovaný vstup, nedostupnost databáze. |
FATÁLNÍ | Úroveň protokolu FATAL, stejně jako ERROR, označuje problém. Ale na rozdíl od ERROR označuje velmi závažnou chybovou událost. Jejich přítomnost v běžný den nebudete moc zvažovat, ale jakmile se objeví, signalizuje to velmi špatné zprávy, dokonce i aplikaci smrti. |
VYPNUTO | Toto je nejvyšší možná úroveň a je určena k vypnutí protokolování. |
STOPA | Toto bylo nedávno představeno ve verzi 1.2 a obsahuje další informace k ladění protokolů úrovní. |
Jak nastavit úrovně protokolu?
Nastavte úroveň protokolu v log4j.properties
mysql vlevo připojit
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
Nastavte úroveň protokolu v log4j.xml
Jak fungují úrovně protokolů?
Práce s úrovněmi protokolování je ve skutečnosti velmi jednoduchá. Během běhu bude kód aplikace vytvářet požadavky na protokolování, které budou mít úroveň. Zároveň má protokolovací rámec nakonfigurovanou úroveň protokolu, která funguje jako práh. Pokud je úroveň požadavku na nakonfigurované úrovni nebo vyšší, bude protokolována do nakonfigurovaného cíle. Pokud ne, je to zamítnuto. Je to jednoduché.
Uvažujme to jako následující pořadí úrovní:
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:
slovník c#
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!'); } }
Nyní zkompilujte a spusťte výše uvedený program a dostali bychom následující výstup v souboru c:/usr/home/log4j/log.out:
Warn Message! Error Message! Fatal Message!