我正在尝试在我们的项目中使用来自spring amqp项目的amqpappender,请看这里:
http://docs.spring.io/spring-amqp/api/org/springframework/amqp/rabbit/log4j/AmqpAppender.html
但我们目前使用的是log4j2,我不认为它支持amqp附加器。
有没有人知道amqp appender是否可以和log4j2一起工作?
发布于 2016-02-17 16:37:47
您可以使用Spring AMQP v.1.6.0.M1 (或hight)和log4j2 xml configuration。
附加器示例:
<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>
发布于 2016-04-25 15:44:58
正如@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中的配置。
发布于 2016-12-05 04:34:56
如果您使用的是AMQP2,您应该能够通过Log4j JMS提供程序。
例如,Apache Qpid JMS是一个使用Qpid Proton构建的完整的AMQP1.0Java消息服务1.1客户端。
Qpid还提供了一个支持早期AMQP版本的备用JMS客户端。
https://stackoverflow.com/questions/30336041
复制相似问题