我有一個簡單的測試應用程序使用AmqpAppender來記錄消息。 當我運行我的應用程序時,我可以看到基於控制檯的消息被寫出,但AMQP沒有。更關注我的是,我根本沒有看到appender的任何輸出來表明它可能有問題。我已經用無效的交換名稱進行了測試,以及關閉了rabbitmq服務器(對本地盒子進行測試),但沒有任何顯示。amqp-appender沒有收到消息
當它無法找到appender的主機時,我不應該至少在System.err中出現錯誤嗎?
我正在使用WebApplicationInitializer對我的webapp進行初始化,但我沒有爲Rabbit定義任何其他spring-bean,因爲目前只有記錄器正在使用它。
這裏是我的log4j.xml
<?xml version="1.0" encoding="UTF-8" ?>
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p %c{1} - %m%n" />
</layout>
</appender>
<!-- Complete Logger -->
<appender name="amqp" class="org.springframework.amqp.rabbit.log4j.AmqpAppender">
<param name="host" value="www.yousuck.io" />
<param name="port" value="5672" />
<param name="virtualHost" value="platform" />
<param name="username" value="username" />
<param name="password" value="password" />
<param name="exchangeName" value="testExchange" />
<param name="exchangeType" value="topic" />
<param name="routingKeyPattern" value="test" />
<param name="applicationId" value="ErrorsAppenderTest" />
<param name="declareExchange" value="true" />
<param name="durable" value="true" />
<param name="contentType" value="text/plain" />
<param name="senderPoolSize" value="2" />
<param name="maxSenderRetries" value="30" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p %c{1} - %m%n" />
</layout>
</appender>
<root>
<!-- <level value="debug" /> -->
<priority value="debug" />
<appender-ref ref="amqp" />
<appender-ref ref="console" />
</root>
</log4j:configuration>
缺少什麼我在這裏,是造成這甚至沒有初始化。
我忘記了使用log4j jn jboss的怪癖,它使用了哪個log4j。 – jesmith17 2014-11-20 03:05:34