Все методы логов тоже проверяют уровень внутри. Причина у нас есть isXYZEnabled
методы, если для производительности.
Рассмотрим следующий вызов:
logger.debug("Value of myObject is: " + hugeObject.toString());
и предположим, что hugeObject
, как следует из его названия, огромен. Создание его строкового представления может потребовать как много времени, так и памяти, и в конечном итоге бессмысленно, поскольку после создания строки ничего не будет записываться в журнал, если уровень не настроен на отладку. Вместо этого вы можете явно проверить уровень перед выполнением этого разговора и сэкономить время, которое могло бы потребоваться:
if (logger.isDebugEnabled()) {
logger.debug("Value of myObject is: " + hugeObject.toString());
}