Я создал простой проект Java. Я пытаюсь централизовать каротаж с помощью Logstash и RabbitMQ. Но сначала мне нужно централизовать мои журналы, используя RabbitMQ с AmqpAppender. Но это не работаетSpring AmqpAppender LOG4J не работает
Мои конфигурации:
POM зависимостей:
<dependency> <groupId>org.springframework.amqp</groupId> <artifactId>spring-rabbit</artifactId> <version>1.0.0.RELEASE</version> </dependency>
свойства Log4J.xml
<appender name="amqp" class="org.springframework.amqp.rabbit.log4j.AmqpAppender"> <param name="ExchangeName" value="amq.rabbitmq.log" /> <param name="ExchangeType" value="topic" /> <param name="RoutingKeyPattern" value="logstash" /> <param name="ApplicationId" value="logstash" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{ISO8601} %-5p %m%n" /> </layout> </appender> <root> <level value="INFO" /> <appender-ref ref="amqp" /> <appender-ref ref="default.file" /> </root>
Мой RabbitMQ конфигурации:
У меня есть Обмен: amq.rabbitmq.log с Binding в очереди: 'LOG' с маршрутизацией ключ: logstash
Но когда я попробуйте записать что-то, приложение AMQP не работает. My RollingFileAppender работает отлично с этой конфигурации:
<appender name="amqp" class="org.springframework.amqp.rabbit.log4j.AmqpAppender">
<param name="ExchangeName" value="test.logs" />
<param name="ExchangeType" value="topic" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ISO8601} %-5p %m%n" />
</layout>
</appender>
EDIT:
Некоторые изображения:
Обмен: test.logs
Я использую обмен 'test.logs'
Переустановка очереди: LOG queue
Я изменил обмен и очередь (проверьте ссылки/изображения). Все еще ничего не происходит –
С 'test.logs' является обменом «тема», вам нужно связать с ключом маршрутизации ('#' для всех сообщений или 'logstash' из вашей конфигурации); или измените тип обмена на «разветвление», которому не нужен ключ маршрутизации. См. Учебники rabbitmq, чтобы понять типы обмена и потребности в маршрутизации. –