Ведение журнала может показаться расточительным, когда оно вам не нужно, но оно незаменимо, когда вам это нужно.Всегда предоставляйте значимые сообщения журнала в ваших классах и функциях.Уровни журналов предназначены для того, чтобы вы могли отфильтровывать шум и увеличивать детализацию, когда вам это нужно.Хорошие регистраторы предоставляют возможность изменять уровни журналов во время выполнения.
Тем не менее, если по какой-либо причине вас беспокоит производительность, вы можете использовать некоторые простые средства защиты, чтобы уменьшить накладные расходы на ведение журналов, особенно отладочных журналов, которые редко включаются,Например, с помощью log4j / slf4j вы можете обернуть операторы отладки журнала в:
if(logger.isDebugEnabled()) {
logger.debug("something");
}
slf4j дополнительно имеет синтаксис, похожий на printf, который выполняет форматирование строки только при правильном уровне журнала.
Как прокомментировал darioo, эта вторая форма избавила от необходимости проверять уровень журнала перед оператором журнала.