amqp appender и log4j2

Я пытаюсь использовать amqpappender из весеннего проекта amqp в нашем проекте. Смотрите здесь:

http://docs.spring.io/spring-amqp/api/org/springframework/amqp/rabbit/log4j/AmqpAppender.html

Но в настоящее время мы используем log4j2, который, я думаю, не поддерживает amqp appender.
Кто-нибудь знает, работает ли amqp appender с log4j2?

3 ответа

Вы можете использовать Spring AMQP v.1.6.0.M1 (или hight) и конфигурацию log4j2 xml.

Пример приложения:

<RabbitMQ name="rabbitmq"
      host="localhost" port="5672" user="guest" password="guest" virtualHost="/"
      exchange="log4j2Test" exchangeType="fanout" declareExchange="true" durable="true" autoDelete="false"
      applicationId="testAppId" routingKeyPattern="%X{applicationId}.%c.%p"
      contentType="text/plain" contentEncoding="UTF-8" generateId="true" deliveryMode="NON_PERSISTENT"
      charset="UTF-8"
      senderPoolSize="3" maxSenderRetries="5">
</RabbitMQ>

Как отметил @Illiahat, вы должны использовать последнюю (еще не выпущенную) версию, такую ​​как 1.6.0.M2, Текущая версия (1.5.5) не поддерживает log4j2, поэтому вы получите RabbitMQ is not recognizable сообщение (оно не может использовать AppenderSkeleton учебный класс).

Вот пример конфигурации gradle, которая заставит регистратор работать:

repositories {
    mavenCentral()
    maven {
        url 'https://repo.spring.io/libs-milestone'
    }
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.11'
    compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.5'
    compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.5'
    compile 'org.springframework.amqp:spring-rabbit:1.6.0.M2'
}

Для регистратора вы можете использовать конфигурацию из @Illiahat.

Если вы используете Log4j 2, вы должны иметь возможность обратиться к провайдеру AMQP JMS.

Например, Apache Qpid JMS является полным клиентом AMQP 1.0 Java Message Service 1.1, созданным с использованием Qpid Proton.

Qpid также предоставляет альтернативный клиент JMS, поддерживающий более ранние версии AMQP.

См. https://qpid.apache.org/components/jms/

Другие вопросы по тегам