我有一个简单的测试应用程序使用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