首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >配置RabbitMq logback appender时出错

配置RabbitMq logback appender时出错
EN

Stack Overflow用户
提问于 2016-06-06 06:17:49
回答 1查看 2.3K关注 0票数 1

我的项目要求将日志发送到集中式位置(Graylog)服务器。因此,我考虑使用logback.xml中的“Appender”将日志发送到RabbitMq,然后配置Graylog服务器从RabbitMq获取日志。

这就是我的logback.xml的样子。

代码语言:javascript
复制
<?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>

我可以在控制台中看到日志,我也希望在RabbitMq服务器上看到它们。但不知何故,我无法在RabbitMq服务器上找到日志。我可以看到在“概述”选项卡中建立的连接,但我不知道必须在哪个队列中查找消息。我漏掉了什么吗?

如果我错过了提供一些细节,那么请让我知道,我会尽快更新的帖子。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-06 12:52:58

您将发布到具有相当复杂的路由密钥的直接交换。

您需要将队列绑定到每个可能的路由密钥(包括应用程序id、日志类名和日志严重性)。

如果您想使用直接交换,我建议使用一个简单的路由密钥,并使用该密钥绑定一个队列。

最好将其发布到主题交换,然后可以将队列与模式绑定,以决定您想要的日志条目。

请参阅兔教程以了解不同的交换类型。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37650684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档