Я пишу отдельное Java-приложение, использующее Hibernate. Maven принес мне jboss-logging
библиотеку. Я не использую JBoss. Вопрос: могу ли я логировать только с этой библиотекой, или мне нужно скачать какую-то реализацию логирования типа log4j
?
Как использовать ведение журнала JBoss, созданное Hibernate?
Ответы (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 в своем проекте. Если вы хотите настроить обработчики журналов, вам также придется использовать диспетчер журналов.
afaik, jboss-logging - это скорее дополнительный уровень поверх обычного API ведения журнала, чтобы обеспечить более сложные функции, такие как i18n и т. д.
JBoss-logging может использовать другую библиотеку ведения журнала (например, SLF4J) в качестве базового обработчика для журнала.
Я считаю, что если вы пишете простое автономное приложение Java, вам не нужно использовать ведение журнала JBoss (если только вы не знаете, что действительно хотите и должны это делать).
Использование SLF4J (с привязкой LogBack или Log4J) будет хорошим выбором. Посетите http://slf4j.org для получения дополнительной информации.
Убедитесь, что у вас есть jboss-logging
и ваша реализация регистратора в вашем пути к классам, и установите для системного свойства org.jboss.logging.provider
значение log4j
, jdk
, slf4j
или jboss
в зависимости от того, что вы хотите. Теоретически автоопределение тоже может работать.