Ведение журнала с помощью Log4J2 через SLF4j в JBoss FUSE

Я пытаюсь реализовать ведение журнала в своих пакетах OSGi, работающих в JBoss FUSE v6.2.0.

В моем пути к классам есть следующие JAR:

log4j-api-2.4.1.jar
log4j-core-2.4.1.jar
log4j-slf4j-impl-2.4.1.jar
slf4j-api-1.7.12.jar
slf4j-ext-1.7.12.jar

Мой код регистрации выглядит так:

Logger logger = LoggerFactory.getLogger(foo.class); 
logger.info("Hello World!");

К сожалению, SLF4J, похоже, направляет ведение журнала в структуру Log4j, которая существует в JBoss FUSE, вместо того, чтобы использовать структуру Log4j2, которую я хочу использовать.

Есть ли у кого-нибудь рекомендации о том, что мне делать, чтобы эта работа работала с Log4j2?

Спасибо!


person Earthling    schedule 02.11.2015    source источник
comment
Если вы планируете использовать Async Logger, вам также необходимо добавить файл Disruptor в путь к классам.   -  person Remko Popma    schedule 03.11.2015
comment
@Remko Я специально не планирую использовать какие-либо логгеры Async, поэтому я не уверен, нужно ли мне добавлять этот JAR?   -  person Earthling    schedule 03.11.2015
comment
Тогда тебе это не нужно.   -  person Remko Popma    schedule 03.11.2015


Ответы (1)


По умолчанию Fuse использует pax-logging с log4j. Чтобы использовать log4j2, вам нужно немного настроить установку предохранителя. Здесь определены шаги для выхода из системы. То же самое и с log4j: https://access.redhat.com/solutions/975013

person Pau    schedule 07.10.2016