Так, слід. Використання фасаду журналу на зразок SLF4J надає вам гнучкість, не обтяжуючи користувачів певними рамками реєстрації.
Автори широко розповсюджених компонентів та бібліотек можуть кодувати інтерфейс SLF4J, щоб уникнути нав'язування рамки реєстрації кінцевому користувачу компонента або бібліотеки. Таким чином, кінцевий користувач може вибрати бажаний фреймворк журналу під час часу розгортання, вставивши на класний шлях відповідну прив'язку slf4j, яка може бути змінена пізніше, замінивши наявну прив'язку іншою на шляху до класу та перезапустивши додаток. Цей підхід виявився простим і дуже надійним.
Крім того, якщо ваші користувачі не містять банку SLF4J (з посібника користувача ):
Як і для SLF4J версії 1.6.0, якщо на шляху до класу не знайдено прив'язки, то slf4j-api буде за замовчуванням для виконання без операцій, відкидаючи всі запити журналу.
Якщо ви стурбовані наслідками ефективності ведення журналу, ознайомтеся з цим запитанням щодо поширених питань у SLF4J . Ідея полягає в тому, щоб ви надали параметри для журналу операторів, а не додавали їх до рядка:
Наступні два рядки дадуть точно такий же вихід. Однак друга форма випереджає першу форму на коефіцієнт щонайменше 30, якщо вимкнено оператор реєстрації.
logger.debug("The new entry is "+entry+".");
logger.debug("The new entry is {}.", entry);
SLF4J - це ще один фасад лісозаготівлі?
SLF4J концептуально дуже схожий на JCL. Таким чином, це можна вважати ще одним фасадом лісозаготівлі. Однак SLF4J набагато простіший у дизайні та, можливо, більш надійний. Коротше кажучи, SLF4J уникає проблем із завантажувачем класів, які викликають напади [Jakarta Commons Logging].