logo

Лог4Ј нивои евидентирања

Нивои евидентирања се користе за категоризацију уноса у вашој лог датотеци. Али они се категоришу на врло специфичан начин, односно по хитности. Ниво вам омогућава да одвојите следеће врсте информација:

  • Можете да филтрирате датотеке евиденције током претраге.
  • Можете управљати количином информација које евидентирате.

Количина и тип информација датих у систему, као и евиденције догађаја контролишу подешавања нивоа лог4ј у конфигурационој датотеци. Свака порука дневника има префикс нивоа поруке.

Нивои евидентирања су пример орг.апацхе.лог4ј.Левел класа.

Лог4ј има следеће нивое евидентирања:

Лог Левел Опис
СВЕ Овај ниво укључује све нивое евидентирања. Укључује прилагођене нивое евидентирања које сте дефинисали. Када се овај конфигурише и нивои се уопште не разматрају, онда ће сви додаци почети да сипају догађаје дневника у датотеке евиденције.
ДЕБУГ Отклањање грешака се често користи за отклањање грешака у апликацији у време развоја. Свака порука дневника ће се појавити у датотекама евиденције када се овај ниво постави. У основи припада програмерима.
ИНФО ИНФО ниво евидентирања се користи за снимање порука о рутинском раду апликације. У реалном времену, администратори система гледају евиденцију информација како би се уверили шта се тренутно дешава на систему и да ли постоји било какав проблем у нормалном току.
УПОЗОРЕЊЕ ВАРН ниво евиденције се користи да укаже да можда имате проблем и да сте открили необичну ситуацију. Можда сте захтевали да позовете услугу, а она није успела неколико пута пре него што се повежете аутоматским поновним покушајем. То је неочекивано и необично, али никаква стварна штета није учињена, и није познато да ли ће проблем и даље постојати или се поновити. Неко би требало да испита упозорења.
ГРЕШКА Ниво евиденције ЕРРОР се користи да означи озбиљан проблем који морате одмах истражити. Није тако озбиљно као ФАТАЛНО, али ипак проблем. То једноставно значи да је ваша апликација наишла на заиста нежељено стање. На пример, неочекивани форматирани унос, недоступност базе података.
ФАТАЛНО ФАТАЛНИ ниво евиденције, попут ГРЕШКА, означава проблем. Али за разлику од ЕРРОР, он означава веома озбиљан догађај грешке. Нећете много размишљати о њиховом присуству током нормалног дана, али када се једном појаве, то сигнализира веома лоше вести, чак и примену смрти.
ВАН Ово је највиши могући ранг и има за циљ да искључи евидентирање.
ТРАЦЕ Ово је недавно уведено у верзији 1.2 и укључује више информација за евиденцију нивоа отклањања грешака.

Како подесити нивое дневника?

Подесите ниво дневника у лог4ј.пропертиес

 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 

Подесите ниво евиденције у лог4ј.кмл

 

Како функционишу нивои дневника?

Рад нивоа евидентирања је заправо веома једноставан. Током времена извршавања, код апликације ће креирати захтеве за евидентирање, који ће имати ниво. У исто време, оквир за евидентирање има конфигурисан ниво евиденције, који делује као праг. Ако је ниво захтева на конфигурисаном нивоу или вишем нивоу, он се пријављује на конфигурисани циљ. Ако није, одбија се. То је једноставно.

Хајде да то размотримо као следећи ранг за нивое:

 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>

Јава програм:

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

Сада компајлирајте и покрените горњи програм и добили бисмо следећи излаз у ц:/уср/хоме/лог4ј/лог.оут датотеци:

 Warn Message! Error Message! Fatal Message!