Логический порядок регистрации log4j - программирование
Подтвердить что ты не робот

Логический порядок регистрации log4j

Какова иерархия ведения журнала log4j?

DEBUG
INFO
WARN
ERROR
FATAL

Какой из них обеспечивает самую высокую регистрацию, которая была бы полезной для устранения неполадок? Может ли кто-либо указать порядок или иерархию, в которых ведение журнала происходит от наивысшего до самого низкого? Спасибо!

4b9b3361

Ответ 1

Используйте силу, прочитайте источник (выдержка из класса Priority и Level, скомпилированного, уровень TRACE был введен в версии 1.2.12):

public final static int OFF_INT = Integer.MAX_VALUE;
public final static int FATAL_INT = 50000;
public final static int ERROR_INT = 40000;
public final static int WARN_INT  = 30000;
public final static int INFO_INT  = 20000;
public final static int DEBUG_INT = 10000;
public static final int TRACE_INT = 5000; 
public final static int ALL_INT = Integer.MIN_VALUE; 

или log4j API для класса Level, что делает его понятным.

Когда библиотека решает, следует ли печатать определенный оператор или нет, он вычисляет эффективный уровень ответственного объекта Logger (на основе конфигурации) и сравнивает его с уровнем LogEvent (зависит от того, какой метод использовался в код /​​trace/debug/.../fatal). Если уровень LogEvent больше или равен уровню Logger, LogEvent отправляется в appender (s) – "Напечатанный". В основе все сводится к целочисленному сравнению, и именно здесь эти константы приходят в действие.

Ответ 2

Эта таблица может быть полезна для вас:

Уровень журнала

Спустившись по первому столбцу, вы увидите, как "видимость" работает для каждого элемента. то есть для WARN, (FATAL, ERROR и WARN). Для ВЫКЛ ничего не будет видно.

Ответ 3

OFF
FATAL
ERROR
WARN
INFO
DEBUG
TRACE
ALL

Ответ 4

Иерархия уровней ведения журнала log4j выглядит следующим образом: от наивысшего до наименьшего порядка:

  • TRACE
  • DEBUG
  • INFO
  • WARN
  • ОШИБКА
  • FATAL
  • OFF

Уровень журнала TRACE обеспечивает самую высокую регистрацию, что было бы полезно для устранения неполадок. Уровень журнала DEBUG также очень полезен для устранения проблем.

Вы также можете сослаться на эту ссылку для получения дополнительной информации о уровнях журнала: https://logging.apache.org/log4j/2.0/manual/architecture.html

Ответ 5

[Взято из http://javarevisited.blogspot.com/2011/05/top-10-tips-on-logging-in-java.html]

DEBUG - это самый низкий уровень журналирования java, и мы должны написать все, что нужно для отладки приложения, этот режим ведения журнала Java должен использоваться только в среде разработки и тестирования и не должен использоваться в рабочей среде.

INFO более ограничена, чем уровень регистрации java уровня DEBUG, и мы должны регистрировать сообщения, которые являются информативными, такими как Сервер был запущен, Входящие сообщения, исходящие сообщения и т.д. на входе INFO в java.

WARN более ограничен, чем уровень ведения журнала в формате INFO и используется для регистрации сообщений о предупреждениях, например. Соединение потеряно между клиентом и сервером. Соединение с базой данных потеряно, Socket достигает своего предела. Эти сообщения и уровень ведения журналов Java практически важны, поскольку вы можете настроить оповещение об этих сообщениях в java и сообщить своей службе поддержки о работоспособности вашего Java-приложения и отреагировать на это предупреждение. В сводном уровне WARN используется для регистрации предупреждающего сообщения для входа в Java.

ОШИБКА - это более ограниченный уровень ведения журнала Java, чем WARN, и используется для регистрации ошибок и исключений, вы также можете настроить оповещение на этом уровне ведения журнала java и группу мониторинга предупреждений, чтобы реагировать на это сообщение. ERROR серьезно подходит для регистрации на Java, и вы всегда должны печатать его.

Уровень регистрации java в FATAL обозначает очень серьезные ошибки, которые предположительно приведут к прерыванию приложения. После этого в основном ваше приложение аварийно завершает работу.

ВЫКЛ Уровень java-регистрации имеет наивысший возможный ранг и предназначен для отключения регистрации в Java.