Mein Projekt fordert, die Protokolle an einem zentralen Standortserver (Graylog) zu senden. Also dachte ich mir "AMQP Appender" in logback.xml zu verwenden, um die Protokolle an RabbitMq zu senden und dann den Graylog-Server zu konfigurieren, um die Protokolle von RabbitMq zu holen.Problem beim Konfigurieren von RabbitMq Logback Appender
So sieht meine logback.xml aus.
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>
{
"time": "%date{ISO8601}",
"thread": "%thread",
"level": "%level",
"class": "%logger{36}",
"message": "%message"
}
</pattern> </encoder>
</appender>
<appender name="RabbitMq" class="org.springframework.amqp.rabbit.logback.AmqpAppender">
<layout>
<pattern>
{
"time": "%date{ISO8601}",
"thread": "%thread",
"level": "%level",
"class": "%logger{36}",
"message": "%message"
}
</pattern>
</layout>
<host>localhost:8080</host>
<port>5672</port>
<username>guest</username>
<password>guest</password>
<exchangeType>direct</exchangeType>
<exchangeName>amq.direct</exchangeName>
<applicationId>RabbitMq-IT-SE</applicationId>
<routingKeyPattern>%property{applicationId}.%c.%p</routingKeyPattern>
<generateId>true</generateId>
<charset>UTF-8</charset>
<durable>true</durable>
<abbreviation>36</abbreviation>
<deliveryMode>NON_PERSISTENT</deliveryMode>
<declareExchange>true</declareExchange>
</appender>
<logger name="org.springframework.amqp.rabbit.logback" level="INFO" additivity="true">
<appender-ref ref="RabbitMq"/>
</logger>
<root level="INFO">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="RabbitMq"/>
</root>
</configuration>
Ich kann die Protokolle in der Konsole sehen und ich erwarte sie auch auf RabbitMq Server. Aber irgendwie bin ich nicht in der Lage, die Protokolle auf RabbitMq Server zu finden. Ich kann die Verbindung in der Registerkarte "Übersicht" sehen, aber ich weiß nicht, in welcher Warteschlange ich nach Nachrichten suchen muss. Fehle ich etwas?
Wenn ich vermisse, einige Details zur Verfügung zu stellen, dann lass es mich wissen, ich werde den Beitrag so bald wie möglich aktualisieren.
Danke.
AMQP-Austausch sind wie Telefonauswahlen, die Daten nicht empfangen, sondern die Daten routen. Sie müssen eine Warteschlange erstellen und diese Warteschlange mit der von Ihnen verwendeten Vermittlungsstelle verknüpfen. In dieser Warteschlange können Sie dann die Nachrichten sehen. Der Graylog-Server kann sich mit dieser Warteschlange verbinden, um die Nachrichten zu empfangen. –