如何记录通过RabbitMQ代理的所有AMQP命令,包括basic.ack
,confirm.select
等服务命令?
答案 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频道相关的所有活动
- 连接 - 适用于与网络连接相关的所有事件
- 联盟 - 适用于与联邦有关的所有事件
- 镜像 - 适用于与镜像队列相关的所有事件
默认值:[{连接,信息}]