logo

Log4J нива на регистриране

Нивата на регистриране се използват за категоризиране на записите във вашия лог файл. Но те се категоризират по много специфичен начин, т.е. по спешност. Нивото ви позволява да разделите следните видове информация:

колко 0 в един милиард
  • Можете да филтрирате вашите лог файлове по време на търсенето.
  • Можете да управлявате количеството информация, която регистрирате.

Количеството и типът на информацията, предоставена в системата, и регистрационните файлове на събития се контролират от настройките на ниво log4j в конфигурационния файл. Всяко съобщение в журнала има префикс от нивото на съобщението.

Нивата на регистриране са пример за org.apache.log4j.Level клас.

Log4j има следните нива на регистриране:

Ниво на лог Описание
ВСИЧКО Това ниво включва всички нива на регистриране. Той включва персонализираните нива на регистриране, които сте дефинирали. След като това е конфигурирано и нивата изобщо не се вземат предвид, тогава всички добавки ще започнат да изхвърлят регистрационните събития в лог файлове.
ОТСТРАНЯВАНЕ НА ГРЕШКИ Debug се използва много за отстраняване на грешки в приложението по време на разработка. Всяко лог съобщение ще се появи в регистрационните файлове, след като това ниво е зададено. Основно принадлежи на разработчиците.
ИНФО Нивото на регистриране на INFO се използва за записване на съобщения относно рутинна работа на приложението. В реално време системните администратори наблюдават информационните регистрационни файлове, за да се уверят какво се случва в системата в момента и дали има някакъв проблем в нормалния поток.
ПРЕДУПРЕЖДЕНИЕ Нивото на регистър WARN се използва, за да покаже, че може да имате проблем и че сте открили необичайна ситуация. Може би сте искали да извикате услуга и тя се е провалила няколко пъти, преди да се свържете при автоматичен повторен опит. Това е неочаквано и необичайно, но не е нанесена реална вреда и не се знае дали проблемът ще продължи или ще се появи отново. Някой трябва да проучи предупрежденията.
ГРЕШКА Нивото на регистрационния файл ERROR се използва за обозначаване на сериозен проблем, който трябва да проучите незабавно. Не толкова сериозен като FATAL, но все пак проблем. Това просто означава, че вашето приложение е изпаднало в наистина нежелано състояние. Например неочаквано форматиран вход, липса на база данни.
ФАТАЛНО Нивото на регистрационния файл FATAL, подобно на ERROR, обозначава проблем. Но за разлика от ERROR, той обозначава много сериозно събитие за грешка. Няма да обмисляте присъствието им много в нормален ден, но щом се появят, това е сигнал за много лоши новини, дори налагането на смърт.
ИЗКЛ Това е най-високият възможен ранг и има за цел да изключи регистрирането.
СЛЕДИ Това беше въведено наскоро във версия 1.2 и включва повече информация за регистрационни файлове на ниво отстраняване на грешки.

Как да зададете нива на регистър?

Задайте ниво на журнал в 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 

Задайте ниво на регистър в log4j.xml

 

Как работи Log Levels?

Работата с нивата на регистриране всъщност е много проста. По време на изпълнение кодът на приложението ще създаде заявки за регистриране, които ще имат ниво. В същото време рамката за регистриране има конфигурирано ниво на регистър, което действа като праг. Ако нивото на заявката е на конфигурирано ниво или по-високо ниво, то се регистрира в конфигурираната цел. Ако не, се отказва. Това е толкова просто.

Нека разгледаме това като следния ред на ранг за нивата:

 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 програма:

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

Сега компилирайте и стартирайте горната програма и ще получим следния изход във файла c:/usr/home/log4j/log.out:

 Warn Message! Error Message! Fatal Message!