Подтвердить что ты не робот

SLF4J logger.debug() не входит в систему JBoss 6

Контекст: Сервер приложений JBoss 6

Я полагаюсь на slf4j-jboss-logmanager.jar, чтобы связать slf4j с менеджером журнала JBoss.

Все logger.info() вывод правильно зарегистрирован.

Однако logger.debug() вывод никогда не появляется в потоке журнала.

Несмотря на то, что jboss-logging.xml установил уровень DEBUG для регистратора CONSOLE...

   <console-handler name="CONSOLE" autoflush="true" target="System.out">
      ...
      <level name="DEBUG"/>
      ...
   </console-handler>

Кто-нибудь видит, почему мои данные отладки никогда не достигают потока журнала?

4b9b3361

Ответ 1

Как из JBoss 6, менеджер журналов и jboss-logging.xml являются собственностью.

Ключ находится в определении корневого регистратора в конце файла конфигурации:

По умолчанию defintion закрывает весь вывод на любом уровне обслуживания на уровне INFO:

   <root-logger>
      <level name="${jboss.server.log.threshold:INFO}"/>
      <handlers>
         <handler-ref name="CONSOLE"/>
         <handler-ref name="ERROR"/>
         <handler-ref name="FILE"/>
      </handlers>
   </root-logger>

Изменение этого параметра на

   <root-logger>
      <level name="${jboss.server.log.threshold:DEBUG}"/>
      <handlers>

открывает ворота для всей возможной информации DEBUG.

Вероятно, слишком много информации DEBUG. Поэтому мне пришлось добавить дополнительные фильтры:

   <logger category="org.jboss">
      <level name="INFO"/>
   </logger>

   <logger category="org.hibernate">
      <level name="INFO"/>
   </logger>

   <logger category="javax">
      <level name="INFO"/>
   </logger>

   <logger category="idealconnector">
      <level name="INFO"/>
   </logger>

   <logger category="httpclient">
      <level name="INFO"/>
   </logger>

   <logger category="my.package">
      <level name="DEBUG"/>
   </logger>