Предлагаю вам посмотреть статью под названием "Краткое введение в log4j" . Он содержит краткое объяснение уровней журналов и демонстрирует, как их можно использовать на практике. Основная идея уровней журналов заключается в том, что вы хотите иметь возможность настраивать детализацию журналов в зависимости от ситуации. Например, если вы пытаетесь устранить проблему, вы бы хотели, чтобы журналы были очень многословными. В производственном процессе вы можете захотеть видеть только предупреждения и ошибки.
Уровень журнала для каждого компонента вашей системы обычно контролируется с помощью параметра в файле конфигурации, поэтому его легко изменить. Ваш код будет содержать различные операторы регистрации с различными уровнями. Отвечая на Exception
, вы можете позвонить Logger.error
. Если вы хотите напечатать значение переменной в любой заданной точке, вы можете вызвать Logger.debug
. Эта комбинация настраиваемого уровня ведения журнала и операторов регистрации в вашей программе позволяет вам полностью контролировать, как ваше приложение будет регистрировать свою активность.
По крайней мере, для log4j, порядок уровней журналов:
DEBUG < INFO < WARN < ERROR < FATAL
Вот небольшой пример из этой статьи, демонстрирующий работу уровней журналов.
// get a logger instance named "com.foo"
Logger logger = Logger.getLogger("com.foo");
// Now set its level. Normally you do not need to set the
// level of a logger programmatically. This is usually done
// in configuration files.
logger.setLevel(Level.INFO);
Logger barlogger = Logger.getLogger("com.foo.Bar");
// This request is enabled, because WARN >= INFO.
logger.warn("Low fuel level.");
// This request is disabled, because DEBUG < INFO.
logger.debug("Starting search for nearest gas station.");
// The logger instance barlogger, named "com.foo.Bar",
// will inherit its level from the logger named
// "com.foo" Thus, the following request is enabled
// because INFO >= INFO.
barlogger.info("Located nearest gas station.");
// This request is disabled, because DEBUG < INFO.
barlogger.debug("Exiting gas station search");