Почему Logger.isInfoEnabled не рекомендуется для org.jboss.logging.Logger? - PullRequest
4 голосов
/ 03 ноября 2010

Я не пользовался Log4J в течение нескольких лет. Сейчас я работаю над приложением под JBoss 5, используя пакет org.jboss.logging. Когда я делал это раньше, было обычной техникой заключать сообщения logger.info () в проверку уровня ведения журнала. Это позволило избежать относительно дорогостоящей операции по созданию информационного сообщения, если оно все равно будет выброшено. Вот пример:

  if (logger.isInfoEnabled()) {
        logger.info("AddRedemption response: \"" 
                    + redemptionResponse.getResponseString() + "\"");
    }

Но теперь я обнаружил, что моя верная среда IDE предупреждает меня, что isInfoEnabled устарела. Это приводит непосредственно к моим двум вопросам:

  1. Почему это устарело?
  2. Что мне вместо этого использовать?

Заранее спасибо за помощь.

-Марк

1 Ответ

3 голосов
/ 04 ноября 2010

Как уже упоминалось в комментарии, JBoss Logger INFO уровень ведения журнала используется для регистрации информации с низким объемом.Что не упомянуто, так это то, что уровень ведения журнала INFO всегда выводился на консоль (экран), поэтому не было зарегистрированного файла, который бы фиксировал уровень INFO.Это имело смысл осудить, поскольку разработчикам это не нужно.

Есть интересный блог Dimitris Andreadi об определенном устаревании уровня ведения журнала JBoss.

...