CodeGym/Java курс/Модул 3/Задаване на нива на регистриране

Задаване на нива на регистриране

На разположение

4.1 Списък на нивата на регистриране

Написахте програмата си, качихте я на сървъра и веднага започвате да имате въпроси:

  • Как да се уверите, че debug()методът не работи, докато работите в production?
  • Има твърде много информация в регистрационните файлове, искате ли да оставите само съобщения за грешки?
  • Как да видя подробен дневник за една част от приложението?

Разбира се, създателите на трупите са изпequalsи пред същото нещо преди десетилетия. Няма да ви казвам How този проблем беше решен на езика C, но на езика Java беше решен много красиво.

Дневникът филтрира данните, преди да запише информацията в . Можете много бързо да намалите/увеличите детайлността на дневника, като зададете нивото на регистриране. Тези нива са описани в tableта по-долу:

Ниво Забележка
1 ВСИЧКО Регистрирайте всички съобщения
2 СЛЕДИ Малко съобщение при отстраняване на грешки
3 ОТСТРАНЯВАНЕ НА ГРЕШКИ Съобщения, важни за отстраняване на грешки
4 ИНФО Прости съобщения
5 ПРЕДУПРЕЖДЕНИЕ Пишете само фатално, грешка и предупреждение
6 ГРЕШКА Пишете само грешки и фатални грешки
7 ФАТАЛНО Пишете само фатални грешки
8 ИЗКЛ Не пишете съобщения в дневника

Тези нива се използват при филтриране на съобщения. Ако зададете нивото на регистриране на WARN, тогава всички по-малко важни съобщения от WARNще бъдат отхвърлени: TRACE, DEBUG, INFO. Ако зададете нивото на филтриране на FATAL, тогава дори ERROR.

Има още две нива на сериозност, които се използват при филтрирането - това OFF(отхвърляне на всички съобщения) и ALL- запис на всички съобщения (неотхвърляне на нищо).

4.2 Пример за настройка на журнал

Нека разгледаме прост пример за настройка на журнал. За целта се нуждаем от file log4j.properties, който може да бъде поставен в папката с ресурси. Нека добавим следното съдържание към него:

# Root logger option
log4j.rootLogger=WARN, stdout

# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}

Тук в първия ред задаваме нивото на регистриране - WARN. А това означава, че съобщенията, които са записани в регистратора със статус, DEBUGще INFOбъдат игнорирани.

  • Посочете Howъв тип добавка ще използваме -ConsoleAppender
  • Посочете къде ще запишем дневника -System.out
  • Задаваме класа, който ще контролира формата на записа -PatternLayout
  • Задайте формата на запис на всички съобщения - дата и час

4.3 Популярни грешки при регистриране

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

  1. Твърде много сеч . Не трябва да регистрирате всяка стъпка, което теоретично може да бъде важно. Има правило: регистрационните файлове могат да заредят производителността с не повече от 10% . В противен случай ще има проблеми с производителността.
  2. Регистриране на всички данни в един файл . Това ще доведе до много трудности за четене/запис в даден момент, да не говорим, че има ограничения за размера на file на определени системи.
  3. Използване на грешни нива на регистриране . Всяко ниво на регистриране има ясни граници и те трябва да се спазват. Ако границата е неясна, можете да се споразумеете кое ниво да използвате.
Коментари
  • Популярен
  • Нов
  • Стар
Трябва да сте влезли, за да оставите коментар
Тази страница все още няма коментари