如何在RabbitMQ中记录AMQP命令?

时间:2015-09-01 20:31:19

标签: rabbitmq

如何记录通过RabbitMQ代理的所有AMQP命令,包括basic.ackconfirm.select等服务命令?

2 个答案:

答案 0 :(得分:0)

标准Java客户端库AuthType Basic AuthUserFile /www/.site_htpasswd AuthName "xxx" require valid-user Allow from 1.2.3.4 包含com.rabbitmq:amqp-client:3.5.4工具,作为客户端和代理之间的独立代理。它会将通过它的所有AMQP命令记录到Tracer

此处描述:http://www.rabbitmq.com/java-tools.html

以下是其输出的一个示例:

System.out

答案 1 :(得分:-1)

你需要修改rabbimq配置。见this page for configuration settings

具体来说,您需要为您感兴趣的内容设置“info”或“debug”之类的内容:

[
  {log_levels, [
    {channel, debug},
    {connection, debug}
  ]}
].

在该页面中,查找log_levels,您将找到此配置信息:

  

控制日志记录的粒度。该值是日志事件类别和日志级别对的列表。

     

级别可以是'none'之一(不记录任何事件),'error'(仅记录错误),'warning'(仅记录错误和警告),'info'(错误,警告和信息)消息被记录)或'debug'(记录错误,警告,信息消息和调试消息)。

     

目前定义了四个类别。其他当前未分类的事件总是被记录下来。

     

类别是:

     
      
  • 频道 - 适用于与AMQP频道相关的所有活动
  •   
  • 连接 - 适用于与网络连接相关的所有事件
  •   
  • 联盟 - 适用于与联邦有关的所有事件
  •   
  • 镜像 - 适用于与镜像队列相关的所有事件
  •   
     

默认值:[{连接,信息}]