Как использовать ведение журнала JBoss, созданное Hibernate?

Я пишу отдельное Java-приложение, использующее Hibernate. Maven принес мне jboss-logging библиотеку. Я не использую JBoss. Вопрос: могу ли я логировать только с этой библиотекой, или мне нужно скачать какую-то реализацию логирования типа log4j?


person Suzan Cioc    schedule 17.09.2012    source источник


Ответы (3)


JBoss Logging — это просто фасад ведения журнала. Чтобы настроить ваши регистраторы, например. использовать/добавлять обработчики, вам нужен менеджер журналов, такой как JBoss Log Manager, J.U.L. менеджер журналов, logback или log4j.

JBoss Logging попытается определить, какой диспетчер журналов используется. Вы можете указать, какой менеджер журналов вы хотите использовать, с системным свойством org.jboss.logging.provider. Допустимые значения для org.jboss.logging.provider:

  • jboss — для JBoss Log Manager
  • jdk - Для J.U.L. менеджер журналов
  • log4j — для менеджера журналов log4j.
  • slf4j - Для входа в систему с помощью slf4j

Hibernate использует JBoss Logging для своих возможностей i18n, методов ведения журнала vararg и возможности не привязываться к диспетчеру журналов.

Конечно, вы можете использовать JBoss Logging в своем проекте. Если вы хотите настроить обработчики журналов, вам также придется использовать диспетчер журналов.

person James R. Perkins    schedule 17.09.2012

afaik, jboss-logging - это скорее дополнительный уровень поверх обычного API ведения журнала, чтобы обеспечить более сложные функции, такие как i18n и т. д.

JBoss-logging может использовать другую библиотеку ведения журнала (например, SLF4J) в качестве базового обработчика для журнала.

Я считаю, что если вы пишете простое автономное приложение Java, вам не нужно использовать ведение журнала JBoss (если только вы не знаете, что действительно хотите и должны это делать).

Использование SLF4J (с привязкой LogBack или Log4J) будет хорошим выбором. Посетите http://slf4j.org для получения дополнительной информации.

person Adrian Shum    schedule 17.09.2012

Убедитесь, что у вас есть jboss-logging и ваша реализация регистратора в вашем пути к классам, и установите для системного свойства org.jboss.logging.provider значение log4j, jdk, slf4j или jboss в зависимости от того, что вы хотите. Теоретически автоопределение тоже может работать.

https://github.com/jboss-logging/jboss-logging/blob/master/src/main/java/org/jboss/logging/LoggerProviders.java#L29

person Philippe Marschall    schedule 17.09.2012